概述ASP.NET AJAX
创始人
2024-04-19 11:51:13
0

以组件的思想重新审视ASP.NET AJAX客户端开发

在进入主题之前,我想和大家一起再来看一下本文章系列***篇中的一个Demo:ASPNETAJAXTest。我现在将其中的客户端代码重新贴在这里。

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:ScriptReferencePath="~/ajax.js"/>  
  11. Scripts>  
  12. <Services>  
  13. asp:ServiceReferencePath="~/SayHelloService.asmx"/>  
  14. Services>  
  15. asp:ScriptManager>  
  16. <div>  
  17. inputid="btnSayHello"type="button"value=
    "SayHello"onclick="btnSayHello_onClick()"/>  
  18. divid="result">div>  
  19. </div>  
  20. </form>  
  21. </body>  
  22. </html> 


ajax.js:

  1. //单击btnSayHello时调用的JS函数  
  2. functionbtnSayHello_onClick(){  
  3. SayHelloService.SayHello(OnSucceeded,OnFailded);  
  4. }  
  5. //成功时的回调函数  
  6. functionOnSucceeded(reusltText){  
  7. $get("result").innerHTML=reusltText;  
  8. }  
  9. //失败时的回掉函数functionOnFailded(error){  
  10. $get("result").innerHTML="调用失败。错误信息:"+error.get_message();  


这是一种我们很熟悉的JavaScript编程模式:以DOM操作为基础。在这种编程模式下,所有页面元素被看成一个树状的DOM元素集合,不论是取得数据还是改变页面元素的属性,都要使用相应的DOM操作。例如我们要取得某个文本框中的值,则首先使用 document.getElementById(在ASP.NET AJAX框架里可以缩写为$get)方法取得这个文本框的DOM引用,然后获取其value属性的值。

这种编程模式,很容易给我们造成困惑,例如文本框、复选框、提交按钮、普通按钮的DOM表示都是“input”元素,另外还要使用如innerHTML这样不是很直观的名字设置div或span的值。其实对于开发人员,尤其是长期从事服务器端开发的人员来说,我们更希望将文本框看做TextBox,将复选框看做CheckBox,将按钮看做Button,将div或span看做Label,而且,我们更希望使用label1.text这样的语句设置div中的文本,而不是使用innerHTML。

幸运的事,ASP.NET AJAX的开发人员显然考虑到了这一点,现在ASP.NET AJAX框架允许我们使用类似服务器端那种组件式的编程模式来进行客户端编程。

【编辑推荐】

  1. 浅谈ASP.NET MVC框架
  2. 介绍ASP.NET MVC中的MvcAjaxPanel
  3. ASP.NET MVC框架拯救UpdatePanel
  4. 用ASP.NET MVC源代码寻找解决方案
  5. ASP.NET MVC框架的ActionInvoker

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...