天天看點

(轉載)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、效率