2.1Microsoft Ajax Library速览:

来源:互联网 发布:淘宝店信誉分增加 编辑:程序博客网 时间:2024/06/05 01:05

2.1Microsoft Ajax Library速览:

Microsoft Ajax Library是一组可以浏览器端独立运行的JavaScript函数库,包含网页核心服务以及提供浏览器的XML远程数据存取能力。

支持的浏览器有:IE、Mozilla、Firefox、Apple Safari。

2.1.2ASP.NET页面中增加Ajax支持

   Ajax Library是专为Ajax功能提供的Script,它是由标准JavaScript发展而来,扩充了JavaScript的功能,可以支持目前使用的多种浏览器,也兼容于大部分的服务器。

   JavaScript本身已具有面向对象的程序设计,但相关的支持并不完整,Ajax Library为JavaScrip提供更多的对象扩展,如:继承、接口、DOM文件操作等。

   Ajax Library提供了一组客户端控件,让网站开发人员可以在不利用服务器端技术下,用这一组控件仿真出服务器控件功能,甚至可以让浏览器端直接存取服务器的数据。

Ajax Library包含的命名空间如下:

1.Sys:最基本的命名空间,提供基础的通用类。

2.Sys.Net:用于管理ASP.NET Ajax浏览器端应用程序与Web服务器之间的服务交互功能类。

3.Sys.Serialization:提供ASP.NET Ajax应用程序数据序列化的类。

4.Sys.Services:提供ASP.NET Ajax浏览器端应用程序通过Script存取ASP.NET 服务所需的类,包含Authentication及Profile服务。

5.Sys.WebForms:提供与局部功能有关的类。

6.Sys.UI:提供与可视化界面功能有关的类。

2.3使用DOM

  全局命名空间提供扩展JavaScript功能的类型和成员,让网站开发人员可以通过这些面向对象模块简化JavaScript程序的编写。

  全局命名空间提供了许多“方法”让开发人员调用,可用来读取Ajax Library中相关的API函数,这些方法都是以“$”做为起始字符,使用时不需要实体化。

(1$get:获得网页的实体引用。$get('Label1').innerHTML = “你好”;

例1.Get方法

1.界面

 

 

 

2.代码

<script language="JavaScript">

        var g_Label;

        function pageLoad()

        {

            g_Label = $get('Label1');

            g_Label.innerHTML += "<br />这是新增內容。";

        }

    </script>

3.功能说明:使用Get方法,根据Label1控件,创建一个新控件,并设置其显示数据显示在页面中。

 

 (2)$addHandler方法:为获得的网页元素实体引用定义事件及对应的执行函数。$addHandler ($get ('Button1'),'click',OnAddText);

例2: addHandler方法的使用

4.更改界面

 

5.更改代码如下:

<script language="JavaScript">

       var g_Label;

        function pageLoad()

        {

            g_Label = $get('Label1');

            g_Label.innerHTML += "<br />这是新内容";

            $addHandler ($get ('Button1'),'click',OnAddText);

        }

        function OnAddText()

        {

            g_Label.innerHTML += "<br />内容被改变";

        }

</script>

5.运行程序,通过$addHandler方法为Button定义方法,在该方法中更改标签内容。测试程序,关闭服务,说明此处代码由IE浏览客户端运行。

(3)$find:用来查找网页中某个网页元素是否存在。f1=$find('Label1', this);

6.更改界面

 

7.增加代码

     <script language="JavaScript">

        var g_Label;

        var f1,f2;

        function pageLoad()

        {  

            f1=$find('Label1', this);

            f2=$find('Label2', this);

            $addHandler($get('btnFindLable1'),'click',onCheckLabel1);

            $addHandler($get('btnFindLable2'),'click',onCheckLabel2);

        }

         function onCheckLabel1()

        {

            if (f1==null)

                Label1.innerHTML = 'Label1控件不存在!';

            else

                Label1.innerHTML = 'Label1控件已经存在!';

        }       

        function onCheckLabel2()

        {

            if (f2==null)

                Label1.innerHTML = 'Label2控件不存在!';

            else

                Label1.innerHTML = 'Label2控件已经存在!';

        }

</script>

8.运行程序,理解$find方法;

(4)$removeHandler:可以将$addHandler方法所加入的事件删除。

 

(5)$ addHandlers:可一次为网页元素实体引用定义多个事件及其对应的执行函数。addHandlers($get("Button1"),        {click:processEventInfo,mouseover:processEventInfo,mouseout:processEventInfo});

 

 

 

SscriptManager控件能掌控整个Ajax异步更新过程中浏览器端的JavaScript程序代码。ASP.NET Ajax Extensions组件中系统中存放了许多javaScript文件。javaScript文件是成对出现的。.debug.js与.js文件。.debug.js比.js文件大。.debug.js文件中包含了大量的测试信息,帮助系统测试者可以快速找到错误所在;.js是正式发行的版本,其中删除了测试信息,也删除了程序代码中的空格、换行符号等不必要的内容。

以下说明各JavaScript文件的功能:

1.MicrosoftAjax.js:此文件包含大部分ASP.NET Ajax核心功能。如扩扩展浏览器端JavaScript语言功能、定义各命名空间、支持XMLHttpRequest封装、使用Web Service等。

2.此文件的另一重要功能是对不同的浏览器之间关于JavaScript及DOM的细微差异做调整,给开发人员提供一个经过封装的统一API,让开发人员不需自行考虑不同浏览器的问题。在默认的情况下,服务器会将此文件下载到浏览器中。

3.MicrosoftAjaxTimer.js文件:此文件定义浏览器的Timer控件,以配合服务器端的Timer控件异步更新操作。

4.MicrosoftAjaxWebForms.js文件。此文件定义了浏览器端的PaggeRequestManager组件,此组件在浏览器中创建类似服务器的模型,以便处理浏览器中的异步更新相关功能。如果ScriptManaer控件的EnablePartialRendering属性值为”true”,表示要用异步更新功能,则此文件会下载到浏览器中。

原创粉丝点击