推荐:asp.net客户端回调功能的实现机制实现的过程基本上就是:让要实现客户端回调功能的页面或者空间实现System.Web.UI.ICallbackEventHandler的接口,即2个方法:void RaiseCallbackEvent(string eventArgument),这个是当客户端触
虽然已经有了ASP.NET AJAX了,最近学习ASP.NET控件的时候,逐步理解了原始的控件异步回调(代码取自《ASP.NET 2.0 高级编程》):
首先,在Render事件中添加好一个事件
protected override void RenderContents(HtmlTextWriter output) { output.RenderBeginTag(HtmlTextWriterTag.Div); output.AddAttribute(HtmlTextWriterAttribute.Type, "text"); output.AddAttribute("OnBlur", "ClientCallback();"); |
然后在OnPreRender事件中,添加如下代码:
protected override void OnPreRe nder(EventArgs e) { //Page.ClientScript.RegisterClientScriptInclude("UtilityFunctions", "JScript.js"); Page.ClientScript.RegisterStartupScript(typeof(Page), "ControlFocus", "document.getElementById('" this.ClientID "').focus();", true); Page.ClientScript.RegisterStartupScript(typeof(Page),"ClientCallback","function ClientCallback() {" "args=document.getElementById('" this.ClientID "').value;" Page.ClientScript.GetCallbackEventReference(this,"args","CallbackHandler",null,"ErrorHandler",true) "}"); //向服务器发送请求,由服务器端生成回调的客户端脚本。 } |
服务器端实现接口的一个方法,也就是接收到客户端的请求之后,由服务器端先处理,然后再把结果和相应代码发回客户端。
#region ICallbackEventHandler Members public string RaiseCallbackEvent(string eventArgument) { int result; if (!Int32.TryParse(eventArgument, out result)) throw new Exception("The method is not implemented."); return "Valid Data"; } |
var args; var ctx;
function CallbackHandler(args,ctx) function ErrorHandler(args,ctx) |
分享:ASP.Net用MD5和SHA1加密的几种方法首先简单介绍一下MD5和SHA1: MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出
新闻热点
疑难解答
图片精选