一个是PageMethod,一个是使用ICallbackEventHandler,一个是使用MS自带的ajax控件。
例如,通过下面的例子实现的功能是:
页面上有一个div和一个按钮。点击按钮调用后台方法获取一个时间,然后将时间写入div。要求页面不要刷新。
还有一个背景按钮。点击此按钮获取保存的值。
在ASP中使用AJAX的模式1。NET:page method
第一步是在ASP.NET建立一个ajax网站(或者在建立一个普通网站后修改webconfig)。
步骤2,在页面上创建控件:
ASP:脚本管理器ID='脚本管理器1 ' runat=' server '启用页面方法=' true '/div ID=' show ' runat=' server ' AAAA/div ASP:hidden field ID=' hidden field 1 ' runat=' server '/input type=' Button ' value=' 1111 ' OnClick=' my fun()' ID=' Button 2 '/ASP:Button ID=' Button 1 ' runat=' server ' Text=' getValue ' OnClick=' Button 1 _ Click '/第三步,
脚本函数myFun() { PageMethods .GetDate('a 'myCallBack) }函数我的回调(结果){ var di=document。getelementbyid(“hiddenfield 1”);di .值=结果;var di=文档。getelementbyid(' show ');di.innerHTML=result}/脚本第四步,
注意,这个方法必须是静态的,并且必须写出以下特征。
因此,此方法不能直接访问页面的值。
[system. Public static datetime getdate (string a) {return datetime. Now; } protected void button 1 _ Click(object sender,EventArgs e){ DataTable dt=(DataTable)this。 DataList1. DataSource responds. Write (dt. Number of rows. Count); } ASP。 Mode 2: Using ICallbackEventHandler in Web development technology for creating interactive, fast and dynamic Web applications.
第一步同上
第二步,页面实现接口。
public partial class Default2 : System.Web.UI.Page, ICallbackEventHandler
第3步,构建控件。
form id=' form 1 ' runat=' server ' div id=' show '/div input type=' button ' onclick=' CallServer()' value=' CallServer '/input第四步,
写js
script type=' text/JavaScript ' function CallServer(){ var product=' 1 '%=ClientScript .GetCallbackEventReference(this,' product '' ReceiveServerData 'null)%;}函数接收服务器数据(右值){ alert(右值);var di=文档。getelementbyid(' show ');di.innerHTML=rValue}/脚本第五步,
背景代码
声明变量:公共字符串CallBackValue
接口方法:
公共字符串GetCallbackResult(){返回回调值'ok '} public void RaiseCallbackEvent(字符串事件参数){ this .回调值=事件参数}说明:RaiseCallbackEvent是实际做事的方法
GetCallbackResult是一个执行操作回调的方法。
您可以修改控件的值。
先在后台执行回调方法,再在前台js执行回调方法。
您可以使用RenderControl之类的类将ASP.NET控件输出为html格式。
您可以在RaiseCallbackEvent中切换一个参数,看看它来自哪里,以便调用不同函数。