//Ajax實現局部刷新
<script type="text/javascript">
var xmlhttp;
function getData()
{
//獲取用戶填寫的名稱
var city=document.getElementById("txt").value;
//創建異步調用對象
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
//將對象狀態與事件相關聯
xmlhttp.onreadystatechange=statechange;
//加載要鏈接的頁面
xmlhttp.Open("POST","datapage.aspx?city=" +city,true);
//發送請求
xmlhttp.Send();
}
function statechange()
{
//判斷異步調用是否已經完成
if(xmlhttp.readystate==4)
{
//判斷完成的提示代碼是否是OK狀態
if(xmlhttp.status==200)
{
//將返回數據作為參數,傳遞給填充方法
FillData(xmlhttp.responseText);
}
}
}
function FillData(strcity)
{
document.getElementById("DropDownList1").options.length=0;
var indexofcity;
var city;
//切割傳遞來的字符串
while(strcity.length>0)
{
//判斷是否是最后一個字符串
indexofcity=strcity.indexOf(",");
if(indexofcity >0)
{
city=strcity.substring(0,indexofcity);
strcity=strcity.substring(indexofcity+1);
//填充下拉框
document.getElementById("DropDownList1").add(new Option(city,city));
}
else
{
// 如果是最后一個字符串
lastcity=strcity.substring(0,2);
document.getElementById("DropDownList1").add(new Option(lastcity,lastcity));
break;
}
};
}
</script>
//第二個頁面
protected void Page_Load(object sender, EventArgs e)
{
//獲取傳遞過來的參數
string city =Request.QueryString["city"];
Response.Clear();
//判斷城市名
switch (city)
{
case "beijing":
//填充相關的區域
Response.Write("朝陽,海淀,東城,西城");
break;
case "shanghai":
Response.Write("浦東,靜安,虹口,徐匯");
break;
case "jinan":
Response.Write("歷下,歷城,市中,天橋");
break;
}
}
//-------------------------------------------------------------------------------使用回調技術實現局部刷新
<script type="text/javascript">
function FillData()
{
var city=document.getElementById("TextBox1").value;
<% =this.ClientScript.GetCallbackEventReference(this,"city","FillDll",null) %>;
}
function FillDll(strcity)
{
document.getElementById("DropDownList1").options.length=0;
var indexofcity;
var city;
//切割傳遞來的字符串
while(strcity.length>0)
{
//判斷是否是最后一個字符串
indexofcity=strcity.indexOf(",");
if(indexofcity >0)
{
city=strcity.substring(0,indexofcity);
strcity=strcity.substring(indexofcity+1);
//填充下拉框
document.getElementById("DropDownList1").add(new Option(city,city));
}
else
{
// 如果是最后一個字符串
document.getElementById("DropDownList1").add(new Option(strcity,strcity));
break;
}
};
}
</script>
private string _data;
public string GetCallbackResult()
{
//返回處理后的數據
return _data;
}
public void RaiseCallbackEvent(string eventArgument)
{
//判斷傳遞過來的參數
switch (eventArgument)
{
case "北京":
_data = "朝陽,海淀,東城,西城";
break;
case "上海":
_data = "浦東,靜安,徐匯,虹口";
break;
case "濟南":
_data = "歷城,歷下,市中,天橋";
break;
}
}
-------------------------------------------------------------------------------------Iframe實現局部刷新
<script language="javascript">
function Search()
{
var city=document.getElementById("TextBox1").value;
if(city !="")
{
document.getElementById("iframe1").src="myframe.aspx?city=" +city;
}
}
</script>
<iframe src="myframe.aspx" style="TEXT-ALIGN: center" id="iframe1" width="100%" height="100%" frameborder="0" scrolling="no"/>
第二頁面myframe.aspx
<div style="TEXT-ALIGN: center">
<asp:DropDownList ID="DropDownList1" runat="server" Width="154px">
</asp:DropDownList></div>
protected void Page_Load(object sender, EventArgs e)
{
//獲取傳遞過來的參數
string city = Request.QueryString["city"];
//判斷城市名
switch (city)
{
case "北京":
//填充相關的區域
DropDownList1.Items.Clear();
DropDownList1.Items.Add("朝陽");
DropDownList1.Items.Add("海淀");
DropDownList1.Items.Add("東城");
DropDownList1.Items.Add("西城");
break;
case "上海":
DropDownList1.Items.Clear();
DropDownList1.Items.Add("浦東");
DropDownList1.Items.Add("靜安");
DropDownList1.Items.Add("虹口");
DropDownList1.Items.Add("徐匯");
break;
case "濟南":
DropDownList1.Items.Clear();
DropDownList1.Items.Add("歷下");
DropDownList1.Items.Add("歷城");
DropDownList1.Items.Add("市中");
DropDownList1.Items.Add("天橋");
break;
}
}
---------------------------------------------------------------------------------使用腳本方法實現局部刷新
<script type="text/javascript">
function FillData(strcity)
{
document.getElementById("DropDownList1").options.length=0;
var indexofcity;
var city;
//切割傳遞來的字符串
while(strcity.length>0)
{
//判斷是否是最后一個字符串
indexofcity=strcity.indexOf(",");
if(indexofcity >0)
{
city=strcity.substring(0,indexofcity);
strcity=strcity.substring(indexofcity+1);
//填充下拉框
document.getElementById("DropDownList1").add(new Option(city,city));
}
else
{
// 如果是最后一個字符串
document.getElementById("DropDownList1").add(new Option(strcity,strcity));
break;
}
};
}
</script>
using System.Text;
protected void Page_Load(object sender, EventArgs e)
{
//創建字符串連接對象
StringBuilder myscript = new StringBuilder();
//使用字符串組織一個JavaScript腳本方法
myscript.Append("function seekCity() {\n");
myscript.Append("var city=document.getElementById('TextBox1').value; \n");
myscript.Append("switch(city) {\n");
myscript.Append("case '北京': \n");
myscript.Append("FillData('" + GetCityStr("北京") +"'); \n");
myscript.Append("break; \n");
myscript.Append("case '上海': \n");
myscript.Append("FillData('" + GetCityStr("上海") + "'); \n");
myscript.Append("break; \n");
myscript.Append("case '濟南': \n");
myscript.Append("FillData('" + GetCityStr("濟南") + "'); \n");
myscript.Append("break; }\n");
myscript.Append(" }\n");
//使用注冊腳本方法在頁面的客戶端,注冊這個字符串編寫的腳本方法。
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "seekCity", myscript.ToString(),true);
}
//通過獲取城市名,返回城市的區縣字符串
private string GetCityStr(string INcity)
{
string city="";
switch (INcity)
{
case "北京":
city = "朝陽,海淀,東城,西城";
break;
case "上海":
city = "浦東,靜安,徐匯,虹口";
break;
case "濟南":
city = "歷城,歷下,市中,天橋";
break;
}
//返回包含區縣的 字符串連接
return city;
}