1.iframe 实现无刷新
<script language='javascript'>
function search
{
var city=document.getelementbyid'textbox1'.value;
ifcity !=''
{
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'/>
protected void page_loadobject 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;
2. js方法实现无刷新 page.clientscript.registerclientscriptblock
//创建字符串连接对象
stringbuilder myscript = new stringbuilder;
//使用字符串组织一个javascript脚本方法
myscript.append'function seekcity {n';
myscript.append'var city=document.getelementbyid'textbox1'.value; n';
myscript.append'switchcity {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.registerclientscriptblocktypeofstring, 'seekcity', myscript.tostring,true;
3. 使用callback技术
<script type='text/javascript'>
function filldata
{
var city=document.getelementbyid'textbox1'.value;
<% =this.clientscript.getcallbackeventreferencethis,'city','filldll',null %>;
//向后台传送数据 数据是:city 数据返回后,前台处理数据的方法是:filldll
}
function filldllstrcity
{
</script>
public partial class _default : system.web.ui.page,icallbackeventhandler //类继承接口 并实现接口方法
{
public string getcallbackresult
{
//返回处理后的数据
return _data;
}
public void raisecallbackeventstring eventargument
{
//判断传递过来的参数
switch eventargument
{
case '北京':
_data = '朝阳,海淀,东城,西城';
break;
case '上海':
_data = '浦东,静安,徐汇,虹口';
break;
case '济南':
_data = '历城,历下,市中,天桥';
break;
}
}
}
4. 使用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
{
//判断异步调用是否已经完成
ifxmlhttp.readystate==4
{
//判断完成的提示代码是否是ok状态
ifxmlhttp.status==200
{
//将返回数据作为参数,传递给填充方法
filldataxmlhttp.responsetext;
}
}
}
datapage.aspx页面
protected void page_loadobject 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;
}
}