自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET異步回調(diào)淺析

開發(fā) 后端
ASP.NET異步回調(diào)是什么呢?ASP.NET異步回調(diào)是怎么實現(xiàn)的呢?那么本文就向你介紹ASP.NET異步回調(diào)的基本內(nèi)容。

ASP.NET異步回調(diào)是什么呢?讓我們來看看具體的實例:

雖然已經(jīng)有了ASP.NET AJAX了,最近學(xué)習(xí)ASP.NET控件的時候,逐步理解了原始的控件異步回調(diào)(代碼取自《ASP.NET 2.0 高級編程》):

ASP.NET異步回調(diào)實例:

首先,在Render事件中添加好一個事件

  1. protected override void RenderContents(HtmlTextWriter output)   
  2. {   
  3.  output.RenderBeginTag(HtmlTextWriterTag.Div);   
  4.  output.AddAttribute(HtmlTextWriterAttribute.Type,   
  5. "text");   
  6.  output.AddAttribute(HtmlTextWriterAttribute.Id,  
  7.  this.ClientID);   
  8.  output.AddAttribute(HtmlTextWriterAttribute.Name,  
  9.  this.ClientID);   
  10.  output.AddAttribute(HtmlTextWriterAttribute.Value,   
  11. this.Text);   
  12.  
  13.  output.AddAttribute("OnBlur""ClientCallback();");   
  14.  this.AddAttributesToRender(output);   
  15.  output.RenderBeginTag(HtmlTextWriterTag.Input);   
  16.  output.RenderEndTag();   
  17.  output.RenderEndTag();   
  18. }   

這里最重要的就是output.AddAttribute("OnBlur","ClientCallback();");

ASP.NET異步回調(diào)實例之在OnPreRender事件中,添加如下代碼:

  1. protected override void OnPreRe   
  2. nder(EventArgs e)   
  3. {   
  4. //Page.ClientScript.RegisterClientScriptInclude("UtilityFunctions", "JScript.js");   
  5. Page.ClientScript.RegisterStartupScript(typeof(Page), "ControlFocus",   
  6. "document.getElementById('" + this.ClientID + "').focus();"true);   
  7. Page.ClientScript.RegisterStartupScript(typeof(Page),  
  8. "ClientCallback","function ClientCallback() {"+"args=document.getElementById('"+this.ClientID+"').value;  
  9. "+Page.ClientScript.GetCallbackEventReference(this,  
  10. "args","CallbackHandler",null,"ErrorHandler",true)+"}");   
  11. //向服務(wù)器發(fā)送請求,由服務(wù)器端生成回調(diào)的客戶端腳本。   

也就是在服務(wù)器端生成客戶端代碼,注意***一個方法GetCallbackEventReference,我理解的是在服務(wù)器端捕捉了客戶端的請求之后,生成相應(yīng)的客戶端腳本,在服務(wù)器端回調(diào)的時候,客戶端決定用什么函數(shù)處理回調(diào)和錯誤。

ASP.NET異步回調(diào)實例之服務(wù)器端實現(xiàn)接口的一個方法,也就是接收到客戶端的請求之后,由服務(wù)器端先處理,然后再把結(jié)果和相應(yīng)代碼發(fā)回客戶端。

  1. #region ICallbackEventHandler Members   
  2. public string RaiseCallbackEvent(string eventArgument)   
  3. {   
  4.  int result;   
  5.  if (!Int32.TryParse(eventArgument, out result))   
  6.  throw new Exception("The method is not implemented.");   
  7.   return "Valid Data";   
  8.  
  9. #endregion  

ASP.NET異步回調(diào)實例之在jscript.js文件中寫好相應(yīng)的回調(diào)處理函數(shù)即可:

  1. var args;   
  2. var ctx;   
  3.  
  4. function ValidateText(ctl)   
  5. {   
  6.  if(ctl.value=='')   
  7.  {   
  8.   alert("Please enter a value");   
  9.   ctl.focus();   
  10.  }   
  11. }   
  12.  
  13. function CallbackHandler(args,ctx)   
  14. {   
  15.  alert("The data is valid");   
  16. }   
  17.  
  18. function ErrorHandler(args,ctx)   
  19. {   
  20.  alert("The data is not a number");   
  21. }   

ASP.NET異步回調(diào)的基本情況就向你介紹到這里,希望對你了解和學(xué)習(xí)ASP.NET異步回調(diào)有所幫助。

【編輯推薦】

  1. C#異步調(diào)用四大方法詳解
  2. C#網(wǎng)絡(luò)編程消息發(fā)送問題淺析
  3. C#異步傳輸字符串服務(wù)端的實現(xiàn)
  4. C#異步傳輸字符串客戶端的實現(xiàn)
  5. C#網(wǎng)絡(luò)編程基本概念TCP淺析
責(zé)任編輯:仲衡 來源: 天極網(wǎng)
相關(guān)推薦

2009-08-21 17:11:15

ASP.NET異步回調(diào)

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET優(yōu)點

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設(shè)計

2009-08-04 17:16:16

ASP.NET代碼優(yōu)化

2009-08-05 16:50:09

ASP.NET For

2009-07-24 18:02:46

ASP.NET編程

2009-07-27 15:34:11

MembershipASP.NET

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-03 10:07:20

ASP.NET Ses

2009-08-05 13:16:43

ASP.NET URL

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:53:14

ASP.NET組件設(shè)計

2009-08-10 18:19:37

ASP.NET安裝環(huán)境

2009-08-10 18:43:05

ASP.NET安裝步驟

2009-07-29 09:34:54

IsPostBack屬ASP.NET

2009-08-10 14:55:43

ASP.NET htt
點贊
收藏

51CTO技術(shù)棧公眾號