日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET異步回調開發(fā)實例淺析

ASP.NET異步回調開發(fā)實例淺析

ASP.NET異步回調的重要性:在實際開發(fā)中,ASP.NET 客戶端異步回調技術才是王道。下面我們進行 ASP.NET 開發(fā)重構以實現(xiàn)異步回調。

之前的HTML代碼示例中,onclick事件寫在了HTML中,現(xiàn)在從中移出至外部的JS。

 
 
 
  1. ﹤label﹥用戶名﹤/label﹥  
  2. ﹤span﹥username value﹤/span﹥  
  3. ﹤a href="#" id="divElem"﹥查看﹤/a﹥  
  4. 在JavaScript代碼中給ajaxread方法加入了onclick事件處理:   
  5. var divElem = document.getElementById('divElem');  
  6. var span = document.getElementsByTagName('span');  
  7. divElem.onclick = function()   
  8. {  
  9. span[0].innerHTML = result;  
  10. return false;  

其中 result 是這個方法的傳值參數(shù)。

另外,還定義了一個處理回調時出錯的方法:

 
 
 
  1. function CallbackError(result)  
  2. {  
  3. alert(result);  

下面是ASP.NET異步回調之服務端程序的示例部分:

 
 
 
  1. public partial class _Default : Page,   
  2. ICallbackEventHandler  
  3. {  
  4. public void RaiseCallbackEvent(string result)  
  5. {  
  6. }  
  7. public string GetCallbackResult()  
  8. {  
  9. string username = usernameValue;  
  10. return username;  
  11. }  
  12. protected void Page_Load(object sender,  
  13.  EventArgs e)  
  14. {  
  15. string callback =   
  16. Page.ClientScript.GetCallbackEventReference(  
  17. this, null, "ajaxread", null, "CallbackError", true);  
  18. Page.ClientScript.RegisterStartupScript(  
  19. this.GetType(), "_Default", callback, true);  
  20. }  

其中 usernameValue 是數(shù)據(jù)處理的變量,具體實現(xiàn)代碼略。

程序編譯后,運行結果與之前用異步回傳是一致的,但代碼重構改為異步回調后,無論是程序可讀性,還是代碼精簡度,都提升了不少。

我通過Firebug觀察到客戶端代碼中的數(shù)據(jù)交互處理是文本(Text)而不是XML,這是 ASP.NET 默認的異步回調數(shù)據(jù)處理的方式吧。

在ASP.NET 服務端控件中就帶有Ajax特性的功能了,如 GridView 內帶了利用異步回調技術的分頁功能,這樣可以少寫了一些代碼量。

在 GridView 的屬性中設置:AllowPaging="true" EnableSortingAndPagingCallbacks="true"。數(shù)據(jù)綁定在 Page_Load事件和GridView控件的OnPageIndexChanging事件中調用。這樣的分頁是Ajax的異步回調的了。

下面是個實際運用中簡單的實例:根據(jù)下拉列表所選中項點擊“查看”按鈕后,顯示相應的數(shù)據(jù)。默認顯示所有的數(shù)據(jù)。

ASP.NET異步回調在程序中設計了兩個Gridview,一個顯示默認的所有數(shù)據(jù)、另一個顯示查詢后的數(shù)據(jù):

 
 
 
  1. ﹤span﹥按文章分類名稱:﹤/span﹥  
  2. ﹤asp:DropDownList ID="ArticleTypeDD" runat="server"﹥  
  3. ﹤/asp:DropDownList﹥  
  4. ﹤asp:Button ID="SearchLB" 
  5.  OnClick="SearchLB_Click" Text="查看"   
  6. runat="server" /﹥  
  7. ﹤asp:GridView ID="grdArticles"   
  8. AllowPaging="true" PageSize="15"   
  9. EnableSortingAndPagingCallbacks="true" 
  10.  OnPageIndexChanging="grdArticles_PageIndexChanging"   
  11. runat="server" /﹥  
  12. ﹤asp:GridView ID="grdArticlesInType" AllowPaging="true" 
  13.  PageSize="15" EnableSortingAndPagingCallbacks="true"   
  14. OnPageIndexChanging="grdArticlesInType_PageIndexChanging"   
  15. runat="server" /﹥ 

ASP.NET異步回調之cs代碼部分:

 
 
 
  1. protected void Page_Load(object sender, EventArgs e)  
  2. {  
  3. grdArticles.DataSource = BindData();  
  4. grdArticles.DataBind();  
  5. grdArticlesInType.DataSource = BindData1();  
  6. grdArticlesInType.DataBind();  
  7. }  
  8. protected void Page_PreRender(object sender,  
  9.  EventArgs e)  
  10. {  
  11. if (!IsPostBack)  
  12. {  
  13. ArticleTypeDD.DataSource = ArticleAccess.GetArticleTypeName();  
  14. ArticleTypeDD.DataTextField = "ArticleTypeName";  
  15. ArticleTypeDD.DataValueField = "ArticleTypeId";  
  16. ArticleTypeDD.DataBind();  
  17. }  
  18. }  
  19. protected void grdArticles_PageIndexChanging(  
  20. object sender, GridViewPageEventArgs e)  
  21. {  
  22. grdArticles.PageIndex = e.NewPageIndex;  
  23. grdArticles.DataSource = BindData();  
  24. grdArticles.DataBind();  
  25. }  
  26. protected void grdArticlesInType_PageIndexChanging(  
  27. object sender, GridViewPageEventArgs e)  
  28. {  
  29. grdArticlesInType.PageIndex = e.NewPageIndex;  
  30. grdArticlesInType.DataSource = BindData1();  
  31. grdArticlesInType.DataBind();  
  32. }  
  33. protected void SearchLB_Click(object sender,  
  34.  EventArgs e)  
  35. {  
  36. grdArticles.Visible = false;  
  37. grdArticlesInType.Visible = true;  
  38. grdArticlesInType.DataSource = BindData1();  
  39. grdArticlesInType.DataBind();  

在這里,BindData()方法、BindData1()方法分別返回兩個GridView控件的數(shù)據(jù)綁定的DataTable對象實例。方法具體代碼略過。分頁運行結果是默認的分頁界面。

ASP.NET異步回調的基本內容就向你介紹到這里希望對你了解和學習ASP.NET異步回調有所幫助。

【編輯推薦】

  1. C#異步調用四大方法詳解
  2. C#網(wǎng)絡編程消息發(fā)送問題淺析
  3. C#異步傳輸字符串服務端的實現(xiàn)
  4. C#異步傳輸字符串客戶端的實現(xiàn)
  5. ASP.NET異步回調淺析

文章題目:ASP.NET異步回調開發(fā)實例淺析
鏈接URL:http://m.5511xx.com/article/dpcdegc.html