成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解ASP.NET AJAX

開發 后端
本文詳細介紹ASP.NET AJAX強制執行的命名規范,所有的客戶端控件都遵從這個規則,以后我們在開發自己的客戶端組件時,也應該遵從這個規則。

我們來看一下使用組件思想重新編寫的這個應用。首先看一下aspx頁面:

Default.aspx:

  1. DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">  
  2. htmlxmlns="http://www.w3.org/1999/xhtml">  
  3. headrunat="server">  
  4. <title>UntitledPagetitle>  
  5. head>  
  6. <body>  
  7. formid="form1"runat="server">  
  8. asp:ScriptManagerID="ScriptManager1"runat="server">  
  9. <Scripts>  
  10. asp:ScriptReferenceAssembly="Microsoft.Web.Preview"Name="PreviewScript.js"/>  
  11. asp:ScriptReferencePath="~/ajax.js"/>  
  12. Scripts>  
  13. <Services>  
  14. asp:ServiceReferencePath="~/SayHelloService.asmx"/>  
  15. Services>  
  16. asp:ScriptManager>  
  17. <div>  
  18. inputid="btnSayHello"type="button"value="SayHello"/>  
  19. divid="result">div>  
  20. div>  
  21. form>24body>25html> 

這里有兩處變化,一是在ScriptManager控件里增加了對PreviewScript.js的引用。這里要注意,客戶端組件的內容并不包含在ASP.NET AJAX1.0正式版里,而是包換在ASP.NET AJAX Futures CTP部分。所以,要使用這些功能,首先要添加對Microsoft.Web.Preview.dll文件的引用,這個文件在ASP.NET AJAX Futures CTP的安裝目錄里,然后要在頁面中添加對PreviewScript.js文件的引用。

第二個變化是這里的btnSayHello已經沒有了onclick屬性,那么如何知道單擊這個按鈕的時候需要執行何種代碼呢?答案在js文件里。

ajax.js:

  1. var btnSayHello;  
  2. var lblResult;    
  3. Sys.Application.add_init(onPageInit);    
  4. function onPageInit()  
  5. {     btnSayHello=new Sys.Preview.UI.Button($get("btnSayHello"));      
  6. btnSayHello.initialize();      
  7. lblResult=new Sys.Preview.UI.Label($get("result"));    
  8. lblResult.initialize();    btnSayHello.add_click(btnSayHello_onClick);  
  9. }  
  10. function btnSayHello_onClick(){      
  11. SayHelloService.SayHello(OnSucceeded,OnFailded);  
  12. }function OnSucceeded(resultText){      
  13. lblResult.set_text(resultText);  
  14. }function OnFailded(error){    
  15. lblResult.set_text("調用失敗。錯誤信息:"+error.get_message());} 


我們看到,應用組件編程思想后,JavaScript發生了巨大的改變。不著急,我們一步一步解析這個文件。

最頂上是定義了兩個全局變量,這兩個變量將分別存儲對btnSayHello和result的引用。之所以要定義成全局變量,是方便在整個文件中調用兩個控件。

Sys.Application.add_init(onPageInit);的作用是告訴頁面當頁面初始化時執行名為onPageInit的函數。

onPageInit是一個自定義函數,主要完成客戶端控件的創建、初始化工作。以下面兩行代碼為例:

  1. btnSayHello=new Sys.Preview.UI.Button($get("btnSayHello"));  
  2. btnSayHello.initialize(); 


***行我想大多數人一看就知道是什么意思,因為那個“new”實在太親切了,這正是創建一個Button的實例,并將其賦給btnSayHello變量。其中Sys.Preview.UI.Button是Button的完全限定名,而大多數控件的構造函數都需要一個參數,用來指出這個控件要關聯到的DOM 元素。而第二行是必須的,在實例化一個控件后,***馬上調用initialize方法,避免一些奇怪的情況發生。

  1. btnSayHello.add_click(btnSayHello_onClick); 


上面這行代碼是將控件的單擊事件與btnSayHello_onClick這個函數關聯起來。這里我要專門說一下ASP.NET AJAX客戶端控件的屬性及事件的設置方法。

ASP.NET AJAX框架規定,在獲取一個控件的屬性時,應使用“控件名.get_屬性名()”這種方法,而設置時則是“控件名.set_屬性名()”。為一個控件的某個事件添加監聽函數時,應該用“控件名.add_事件名()”,移除時用“控件名.remove_事件名()”。這是ASP.NET AJAX強制執行的命名規范,所有的客戶端控件都遵從這個規則,以后我們在開發自己的客戶端組件時,也應該遵從這個規則。

知道了以上知識,很多代碼就很好理解了。例如“lblResult.set_text(resultText);”就是將lblResult控件的text屬性設置為resultText。剩下的代碼我就不解釋了,應該沒問題了。

【編輯推薦】

  1. 淺談ASP.NET MVC框架
  2. 介紹ASP.NET MVC中的MvcAjaxPanel
  3. ASP.NET MVC框架拯救UpdatePanel
  4. 用ASP.NET MVC源代碼尋找解決方案
  5. ASP.NET MVC框架的ActionInvoker
責任編輯:佚名 來源: IT168
相關推薦

2009-07-24 17:31:56

ASP.NET AJA

2009-07-22 16:05:34

ASP.NET AJA

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-07-20 10:16:13

配置ASP.NET A

2009-07-22 15:58:52

ASP.NET AJA

2009-07-31 13:24:43

ASP.NET AJA

2009-07-28 09:02:32

asp.net aja

2009-07-29 16:08:07

ASP和ASP.NET

2009-03-13 09:48:33

ASP.NETAjaxJQuery

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-24 10:14:22

ASP.NET開發

2009-07-23 13:19:51

2009-07-20 17:39:36

WCF服務ASP.NET AJA

2009-08-07 16:09:25

ASP.NET AJA

2009-07-20 13:54:31

ScriptManagASP.NET AJA

2009-07-21 17:18:26

UpdateProgrASP.NET AJA
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产色综合久久 | 午夜电影福利 | 欧美性受xxx | 久久精品国产免费看久久精品 | 久久综合一区 | 正在播放国产精品 | 欧美黑人体内she精在线观看 | 四虎影院新网址 | 亚洲一区高清 | 国产色 | 国产成人精品一区二区在线 | 狠狠艹 | 亚洲人成在线播放 | 成人欧美一区二区三区黑人孕妇 | 97精品超碰一区二区三区 | 在线观看视频91 | 欧美片网站免费 | 日日摸夜夜爽人人添av | 成人欧美一区二区三区色青冈 | 龙珠z国语版在线观看 | 久久久精品网站 | 日韩欧美国产不卡 | 91国内视频在线 | 麻豆国产一区二区三区四区 | 一级a性色生活片久久毛片 午夜精品在线观看 | 国产成人精品一区二区三区四区 | caoporn视频 | 九九热精品在线 | 国产人久久人人人人爽 | 久久黄视频 | 午夜影院普通用户体验区 | av毛片在线免费观看 | 91在线一区| 三级高清| 亚洲欧美综合 | 韩日三级 | 亚洲精品一区二区三区蜜桃久 | 91xxx在线观看 | 成人精品一区 | 欧美寡妇偷汉性猛交 | 日日夜夜天天 |