ASP.NETAJAX举例分析-成都快上网建站

ASP.NETAJAX举例分析

本篇内容主要讲解“ASP.NET AJAX举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET AJAX举例分析”吧!

成都创新互联公司长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为营口企业提供专业的成都网站设计、网站制作,营口网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

首先看一下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:

var btnSayHello;  var lblResult;    Sys.Application.add_init(onPageInit);    function onPageInit()  {     btnSayHello=new Sys.Preview.UI.Button($get("btnSayHello"));      btnSayHello.initialize();      lblResult=new Sys.Preview.UI.Label($get("result"));    lblResult.initialize();    btnSayHello.add_click(btnSayHello_onClick);  }  function btnSayHello_onClick(){      SayHelloService.SayHello(OnSucceeded,OnFailded);  }function OnSucceeded(resultText){      lblResult.set_text(resultText);  }function OnFailded(error){    lblResult.set_text("调用失败。错误信息:"+error.get_message());}


我们看到,应用组件编程思想后,JavaScript发生了巨大的改变。不着急,我们一步一步解析这个文件。

最顶上是定义了两个全局变量,这两个变量将分别存储对btnSayHello和result的引用。之所以要定义成全局变量,是方便在整个文件中调用两个控件。

Sys.Application.add_init(onPageInit);的作用是告诉页面当页面初始化时执行名为onPageInit的函数。

onPageInit是一个自定义函数,主要完成客户端控件的创建、初始化工作。以下面两行代码为例:

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


***行我想大多数人一看就知道是什么意思,因为那个“new”实在太亲切了,这正是创建一个Button的实例,并将其赋给btnSayHello变量。其中Sys.Preview.UI.Button是Button的完全限定名,而大多数控件的构造函数都需要一个参数,用来指出这个控件要关联到的DOM 元素。而第二行是必须的,在实例化一个控件后,***马上调用initialize方法,避免一些奇怪的情况发生。

btnSayHello.add_click(btnSayHello_onClick);

上面这行代码是将控件的单击事件与btnSayHello_onClick这个函数关联起来。这里我要专门说一下ASP.NET AJAX客户端控件的属性及事件的设置方法。

ASP.NET AJAX框架规定,在获取一个控件的属性时,应使用“控件名.get_属性名()”这种方法,而设置时则是“控件名.set_属性名()”。为一个控件的某个事件添加监听函数时,应该用“控件名.add_事件名()”,移除时用“控件名.remove_事件名()”。这是ASP.NET AJAX强制执行的命名规范,所有的客户端控件都遵从这个规则,以后我们在开发自己的客户端组件时,也应该遵从这个规则。

到此,相信大家对“ASP.NET AJAX举例分析”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享文章:ASP.NETAJAX举例分析
本文来源:http://kswjz.com/article/gcihpj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流