日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在.NET 2.0正式版中开发无刷新页面

發(fā)布時(shí)間:2025/3/19 asp.net 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在.NET 2.0正式版中开发无刷新页面 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在已經(jīng)發(fā)布的 ASP.NET2.0 中,無刷新頁面開發(fā)相關(guān)部分同 beta2 有不少改動(dòng)。而且在越來越多的 Ajax 開發(fā)包被開發(fā)出來的情況下, ASP.NET2.0 自帶的無刷新頁面技術(shù)沒有被很多人了解,甚至不少人認(rèn)為該功能有些“雞肋”。但如果我們僅僅是在程序中加入很少部分的 Ajax 特性, Atlas 、 Ajax.Net 等就顯得有些“殺雞用牛刀”的感覺了。而且,我認(rèn)為使用 ASP.NET2.0 提供的方法進(jìn)行開發(fā)并不很復(fù)雜,相反,使用很少的代碼就可以做出來很棒的效果!

  下面我來一步一步的帶大家開發(fā)無刷新的頁面!

  第一步:實(shí)現(xiàn) ICallbackEventHandler 接口

  ICallbackEventHandler接口位于System.Web.UI命名空間下。在beta2時(shí),ICallbackEventHandler只包含一個(gè)RaiseCallbackEvent方法,即處理回調(diào)事件,又返回處理結(jié)果。在正式版中,它變成了包含GetCallbackResult和RaiseCallbackEvent兩個(gè)成員方法,第一個(gè)用來返回回調(diào)事件的結(jié)果,第二個(gè)用來出來回調(diào)事件。這個(gè)變化主要是為了編寫Web控件而做的改動(dòng),具體可以看一下GridView等控件中的實(shí)現(xiàn)代碼。

  建立一個(gè) Web 網(wǎng)站,我們來修改 default.aspx.cs 文件:

c# 代碼
  • public?partial?class?_Default?:?System.Web.UI.Page,?ICallbackEventHandler ??
  • { ??
  • ????private?string?str; ??
  • ????public?void?RaiseCallbackEvent(string?eventArgument) ??
  • ????{ ??
  • ????????//可以根據(jù)傳遞的參數(shù)不同,調(diào)用不同的處理邏輯? ??
  • ????????str?=?"從服務(wù)器端返回的內(nèi)容:"?+?eventArgument; ??
  • ????} ??
  • ??
  • ????public?string?GetCallbackResult() ??
  • ????{ ??
  • ????????return?str?+?"——【GetCallbackResult】"; ??
  • ????}? ??
  • ??
  • ????protected?void?Page_Load(object?sender,?EventArgs?e) ??
  • ????{ ??
  • ??
  • ????} ??
  • }??
  • 第二步:注冊回調(diào)方法

      我們在 default.aspx 頁面中添加一個(gè) TextBox ,一個(gè) Label 和一個(gè) Html 控件 Button ,并給 Button 添加 onclick 事件:

    HTML?代碼
  • <asp:TextBox?ID="TextBox1"?runat="server"></asp:TextBox> ??
  • <asp:Label?ID="Label1"?runat="server"?Text="Label"></asp:Label><br?/> ??
  • ??
  • <input?id="Button1"?type="button"?value="提交到Label1"?οnclick="CallServer(TextBox1,?Label1)"/><br/>?? ??
  • HTML?代碼

  • <script?type="text/javascript">??? ??
  • ??????//由button調(diào)用?? ??
  • ??????function?CallServer(inputcontrol,?context)?? ??
  • ??????{??? ??
  • ???????????context.innerHTML?=?"Loading";?? ??
  • ???????????arg?=?inputcontrol.value;?? ??
  • ???????????//注冊回調(diào)方法?? ??
  • ???????????<%=?ClientScript.GetCallbackEventReference(this,?"arg",?"ReceiveServerData",?"context")%>;??? ??
  • ????????}?? ??
  • ??????//在回調(diào)方法中注冊的接收返回結(jié)果的函數(shù)?? ??
  • ???????function?ReceiveServerData(result,?context)??? ??
  • ???????{?? ??
  • ???????????context.innerHTML?=?result;?? ??
  • ???????}?? ??
  • ???</script>????
  • 好了,一個(gè)無刷新的頁面就開發(fā)完了,它可以將你在 TextBox 中輸入的文字,通過服務(wù)器代碼寫回到頁面的 Label 中。是不是很簡單?你可以運(yùn)行一下你的程序看看效果啦!

      下面我們來分析一下這些代碼。

      首先,我們看

  • <%=?ClientScript.GetCallbackEventReference(this,?"arg",?"ReceiveServerData",?"context")%>;??? ??
  • ?

     ClientScript是System.Web.UI.Page對象的一個(gè)屬性,它是System.Web.UI.ClientScriptManager對象。用于管理客戶端腳本,GetCallbackEventReference方法用于注冊一個(gè)服務(wù)器端事件的客戶端回調(diào)。它的第四個(gè)參數(shù)“Context”非常重要,但在MSDN中并沒有相關(guān)的例子和詳細(xì)的說明。在我上面給的代碼中可以看到,調(diào)用CallServer方法時(shí),傳遞的Context參數(shù)就是Label1,而ReceiveServerData的第二個(gè)參數(shù)“Context”就是被傳遞過來的Label1。在我的例子中,Context被我用于設(shè)定一個(gè)用來顯示服務(wù)端返回結(jié)果的控件。其實(shí),你可以將任意的對象賦值給Context,它都會(huì)被傳遞給本地端處理回調(diào)返回結(jié)果的函數(shù),這樣,你就可以根據(jù)調(diào)用前指定的“上下文”靈活的操作返回結(jié)果了!在我給出的完整例子中,你可以看到一個(gè)使用Context做的無刷新顯示GridView的例子。

      在這里我要說個(gè)題外話,Context這么重要的參數(shù)在MSDN中不但沒有詳細(xì)的說明,而且VS2005中文正式版MSDN中關(guān)于回調(diào)的例子竟然還是beta2時(shí)的實(shí)現(xiàn)!這個(gè)版本的MSDN可以說是我用過的版本中品質(zhì)最差的。不過現(xiàn)在的MSND可以用“相當(dāng)”龐大來形容,出錯(cuò)也是在所難免的,希望下個(gè)版本的MSND會(huì)好一些。

      OK,在ASP.NET 2.0中開發(fā)具有Ajax特性的東東不難吧!其實(shí)就是兩步:

      1、 在Server端實(shí)現(xiàn)ICallbackEventHandler接口,在接口包含的方法中根據(jù)傳遞的參數(shù)分別調(diào)用不同的處理方法,然后返回結(jié)果;

      2、 在Client端注冊回調(diào)函數(shù)(當(dāng)然你也可以在Server端注冊),然后實(shí)現(xiàn)處理回調(diào)結(jié)果的函數(shù)。其中,如果對Context能干靈活運(yùn)行,你就可以做出非常好的效果了。

    轉(zhuǎn)載于:https://www.cnblogs.com/gllgsoft/archive/2008/08/06/1262167.html

    總結(jié)

    以上是生活随笔為你收集整理的在.NET 2.0正式版中开发无刷新页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 大又大粗又爽又黄少妇毛片 | 在线国产三级 | 在线观看免费视频 | 一本大道一区二区 | 天天操精品 | 波多野结衣视频播放 | 午夜激情视频在线观看 | 噼里啪啦国语电影 | 天堂网wwww| 久草最新视频 | 少妇搡bbbb搡bbbb | 国产精品啊啊啊 | 欧洲成人一区二区三区 | 亚洲中文在线一区 | 欧美久久久久久 | 我的丝袜美腿尤物麻麻 | 香蕉视频在线免费 | 国产精品99久久久久久宅男 | 久久久久亚洲AV成人无码国产 | 男人操女人视频网站 | 五月天色婷婷综合 | 国产性生活一级片 | 亚洲人交配视频 | 欧洲性开放大片 | 亚洲成人偷拍 | av网站一区二区 | 色综网 | 国产资源一区 | 超碰97在线播放 | 黄色网炮| 中国无码人妻丰满熟妇啪啪软件 | 日韩av黄色片 | 国产综合免费视频 | 日韩五月天 | 欧洲色av | 久久精品aaaaaa毛片 | 色多多在线观看 | 五月婷影院 | 国产色中色| 中文字幕亚洲综合 | 伊人春色网 | 一区二区激情视频 | 伊人久久综合 | 国产一二三在线视频 | 日韩中文字幕视频在线观看 | 欧美精品二区三区 | 黑丝啪啪 | 小敏的受孕日记h | 一区二区在线视频免费观看 | 一区二区视频在线播放 | 免费观看日本 | 四虎影成人精品a片 | 一区二区三区四区高清视频 | 日本老妇性生活 | 中文字幕无码乱码人妻日韩精品 | 国产又爽又黄免费软件 | 成人网一区 | 亚洲国产精品成人无久久精品 | 亚洲天堂av一区二区三区 | 老版k8经典电影 | 国产成人无码精品久久久电影 | 日本色综合网 | 亚洲免费在线视频 | 精品在线小视频 | 欧美整片在线 | 成人两性视频 | 欧美激情综合网 | 超碰久草| 国产专区在线播放 | 欧美一区二区激情 | 成人动漫一区二区 | 欧美日韩人妻精品一区二区三区 | 久久久无码一区二区三区 | a级在线观看网站 | 综合网伊人| 天天天天天操 | 丰满人妻一区二区三区四区53 | 五十路在线视频 | 一区二区三区在线观看免费视频 | 婷婷综合亚洲 | 不良视频在线观看 | 国产欧美精品一区二区在线播放 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲熟女少妇一区 | 夜夜嗨av一区二区三区免费区 | 三级在线网站 | 久久精品动漫 | 成 人 黄 色 片 在线播放 | 成人免费网站在线观看 | 日本污污网站 | 色妞av| 国产高清在线观看 | 欧美激情精品 | 亚洲一区二区三区四区五区六区 | 红桃视频一区二区三区免费 | 国产三区视频 | 中文字幕观看视频 | 午夜免费福利网站 | 91理论片 |