简介:
Ajax.NET是一款免费的面向.Net的Ajax Library
Atlas是微软提供给开发者的Ajax开发包
两者都可以让ASP.Net具备Ajax功能
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,所以代码的量也是不相同的,下面我用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
End Sub
TextBox2.Text = Session("Uesr").ToString
End Sub
[Atlas]
前台:
<form id="form1" runat="server">
<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" />
<atlas:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
<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" />
</ContentTemplate>
</atlas:UpdatePanel>
</form>
后台:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Session("Uesr") = TextBox1.Text
End Sub
前台:
<form id="form1" runat="server">
<atlas:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" />
<atlas:UpdatePanel ID="UpdatePanel" runat="server">
<ContentTemplate>
<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" />
</ContentTemplate>
</atlas:UpdatePanel>
</form>
后台:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Session("Uesr") = TextBox1.Text
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox2.Text = Session("Uesr").ToString
End Sub
TextBox2.Text = Session("Uesr").ToString
End Sub
由上面的代码可以看出Ajax.NET是通过在后台方法声明前加上<Ajax.AjaxMethod>把当前方法变成Ajax方法,而Atlas是通过前台把需要用到Ajax的表单加上<atlas:UpdatePanel>标签来完成的。
2、兼容性
Ajax.NET可以在任何.Net版本下运行,要用时需把相关的DLL附加引用
Atlas更偏向于.Net 2.0,甚至提供了Visual Studio 2005模板的安装
Ajax.NET可以在任何.Net版本下运行,要用时需把相关的DLL附加引用
Atlas更偏向于.Net 2.0,甚至提供了Visual Studio 2005模板的安装
3、效率
同时在ASP.Net 2.0的环境下使用两者发现Atlas的执行效率比Ajax.NET略高
同时在ASP.Net 2.0的环境下使用两者发现Atlas的执行效率比Ajax.NET略高
4、总结
综合上面的对比,Ajax.NET与Atlas各有特色,但对于大规模的ASP.Net程序的Ajax改造,个人觉得使用Atlas要来得简单。如果你是使用ASP.Net 2.0要用到Ajax的话,个人推荐你用Atlas。
综合上面的对比,Ajax.NET与Atlas各有特色,但对于大规模的ASP.Net程序的Ajax改造,个人觉得使用Atlas要来得简单。如果你是使用ASP.Net 2.0要用到Ajax的话,个人推荐你用Atlas。