溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET異步回調怎么實現

發布時間:2021-12-06 09:56:26 來源:億速云 閱讀:245 作者:iii 欄目:編程語言

本篇內容主要講解“ASP.NET異步回調怎么實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“ASP.NET異步回調怎么實現”吧!

ASP.NET異步回調實例:

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

protected override void RenderContents(HtmlTextWriter output)   {    output.RenderBeginTag(HtmlTextWriterTag.Div);    output.AddAttribute(HtmlTextWriterAttribute.Type,   "text");    output.AddAttribute(HtmlTextWriterAttribute.Id,   this.ClientID);    output.AddAttribute(HtmlTextWriterAttribute.Name,   this.ClientID);    output.AddAttribute(HtmlTextWriterAttribute.Value,   this.Text);     output.AddAttribute("OnBlur", "ClientCallback();");    this.AddAttributesToRender(output);    output.RenderBeginTag(HtmlTextWriterTag.Input);    output.RenderEndTag();    output.RenderEndTag();   }

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

ASP.NET異步回調實例之在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)+"}");   //向服務器發送請求,由服務器端生成回調的客戶端腳本。   }

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

ASP.NET異步回調實例之服務器端實現接口的一個方法,也就是接收到客戶端的請求之后,由服務器端先處理,然后再把結果和相應代碼發回客戶端。

#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";   }   #endregion

ASP.NET異步回調實例之在jscript.js文件中寫好相應的回調處理函數即可:

var args;   var ctx;    function ValidateText(ctl)   {    if(ctl.value=='')    {   alert("Please enter a value");   ctl.focus();    }   }    function CallbackHandler(args,ctx)   {    alert("The data is valid");   }    function ErrorHandler(args,ctx)   {    alert("The data is not a number");   }

到此,相信大家對“ASP.NET異步回調怎么實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女