天天看点

(转载)Ajax.NET与Atlas的比较

简介:

Ajax.NET是一款免费的面向.Net的Ajax Library

Atlas是微软提供给开发者的Ajax开发包

两者都可以让ASP.Net具备Ajax功能

近日,利用空闲时间把这两个东西做了不完全的比较

1、代码量

由于两者通过不同途径实现Ajax,所以代码的量也是不相同的,下面我用VB.Net为例写了段读写Session的例子。

[Ajax.NET]

前台:

    <form id="form1" runat="server">

                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

                <asp:Button ID="Button1" runat="server" Text="Button" /><br />

                <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

                <asp:Button ID="Button2" runat="server" Text="Button" />

    </form>

后台:

   <Ajax.AjaxMethod(HttpSessionStateRequirement.ReadWrite)> Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Session("Uesr") = TextBox1.Text

    End Sub

   <Ajax.AjaxMethod(HttpSessionStateRequirement.Read)> Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

        TextBox2.Text = Session("Uesr").ToString

[Atlas]

        <atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" />

        <atlas:UpdatePanel ID="UpdatePanel" runat="server">

            <ContentTemplate>

            </ContentTemplate>

        </atlas:UpdatePanel>

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

由上面的代码可以看出Ajax.NET是通过在后台方法声明前加上<Ajax.AjaxMethod>把当前方法变成Ajax方法,而Atlas是通过前台把需要用到Ajax的表单加上<atlas:UpdatePanel>标签来完成的。

2、兼容性

Ajax.NET可以在任何.Net版本下运行,要用时需把相关的DLL附加引用

Atlas更偏向于.Net 2.0,甚至提供了Visual Studio 2005模板的安装

3、效率