ASP.NET 2.0中的ICallbackEventHandler说明
AJAX技术所提倡的无刷新回调,在原来的技术中需要写大量的JavaScript代码或使用一些AJAX框架,使得开发效率和可维护性大大降低。其实ASP.NET2.0中,已经提供了这样的接口,这就是ICallbackEventHandler。
ICallbackEventHandler存在于System.Web.UI中,我们先做一个非常简单的例子来试用一下。
第一步,在VS2005中建立一个新的WEB窗件。
第二步,在ASPX中,放上一段HTML代码(如下):
<button onclick="CallServer()">CallServer</button>
第三步,然后在<HEAD></HEAD>中放入一段JavaScript脚本:
<script type="text/javascript">
function CallServer()
{
var str = "上海XX计算机信息有限公司";
<%= ClientScript.GetCallbackEventReference(this, "str", "ReceiveServerData",null)%>;
}
function ReceiveServerData(serverResponseResult)
{
alert(serverResponseResult);
}
</script>
GetCallbackEventReference的参数说明:
第一个:实现了ICallbackEventHandler接口的页面或者服务器控件,写this代表当前页面。处理客户端回调的服务器 Control。该控件必须实现 ICallbackEventHandler 接口并提供包括必须实现string GetCallbackResult()和void RaiseCallbackEvent(eventArgument)这两个接口函数。
第二个:代表从客户端传递给服务器RaiseCallbackEvent方法的值
第三个:客户端的一个js函数名称,同时,服务器也会把计算得到的数据传递给这个函数做为这个函数的参数。
第四个:启动回调之前在客户端计算的客户端脚本。脚本的结果传回客户端事件处理程序。
第四步,在此ASPX的后台CS代码中,继承ICallbackEventHandler接口,并实现接口中的两个方法: ICallbackEventHandler.GetCallbackResult() 和 ICallbackEventHandler.RaiseCallbackEvent(string eventArgument),并且在Form_load里面添加ClientScript.GetCallbackEventReference(this, "", "", null);
第五步,增加一个变量CallBackValue,并修改接口的两个方法为:
#region ICallbackEventHandler Members
string ICallbackEventHandler.GetCallbackResult()
{
return CallB
相关文档:
cs文件:
using System.IO;
string context = "";
string path = HttpContext.Current.Server.MapPath("") + "\\test\\test.html";
System.Text.Encoding code = System.Text.Encoding.GetEncoding("utf-8");
Stre ......
在ASP.NET 2.0 WE站点上,我们可以通过在web.config文件中加入下面的节点来支持条件编译。
<compilers>
<compiler language="c#" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"
extension ......
ASP.NET程序中常用的三十三种代码
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")
接收参数:
string a = Request.QueryString("id");
string& ......
Asp.net中的日期处理函数
//2007年4月24日
this.TextBox6.Text = System.DateTime.Now.ToString("D");
//2007-4-24
this.TextBox7.Text = System.DateTime.Now.ToString("d");
&nb ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Pub 的摘要说明
/// </summa ......