回调功能与AJAX都可以实现页面的局面刷新:
1: 回调功能实现的方式:
A.aspx
<script type=javascript>
function getTemp()//启动加调过程
{
var zipcode=document.forms[0].TextBox1.value;
UseCallBack(zipcode,"");
}
function GetTempFromServer(TextBox2,context)
{
document.forms[0].Text.value="zipcode:"+document.forms[0].TextBox1.value+" |Temp:"+TextBox2;
}
</script>
<body>
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
<input type="button" id="button1" value="Get Temp" οnclick="getTemp()">//用标准的HTML控件,<ASP:Button> 不可用
<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</body>
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A.aspx.cs
public pratial class A:system.web.UI.Page,system.Web.UI.ICallbackEventHandler(实现Web.UI.ICallbackEventHandler接口, 这里为什么使用pratial部分类修饰)
{
private string _callbackresult=null;
void page_load(Object sender,Eventargs e)
{
string cbreference=Page.ClientScript.GetCallbackEventReference(this,"arg","GetTempFromServer","context");
string cbScript="function UseCallback(arg,context) {"+cbreference+"}";
page.client.RegisterClientScriptBlock(this.gettype(),"UseCallback",cbscript,true);
}
public void RaiseCallbackEvent(string eventArg)(Web.UI.ICallbackEventHandler接口里的方法)
{
Weater.TemperatureService ws=new Weater.TemperatureService()//远程WEB服务,用于根据邮政编码提供天气信息, 需添加引用
_callbackresult=ws.getTemp(eventArg).Tostring();
}
public string GetCallbackResult()
{
return _callbackresult;
}
}
2.AJAX方式: 不会, 书上没有, 也想抄上去的
回调方式是能过浏览器的XMLHTTP, AJAX通过XMLHTTPRequest, 可能是这样的, GOOGLE