Anthem.NET 使用初感

最近项目要求,有个类似用户注册的唯一性检 查的功能,虽然写上了但是交互性不够,用户体验太差。于 是开始学习 AJAX 。刚开始的想法是直接用 JS XMLHttpRequest 来实现,难度不大。 找了点书再从用 AJAX 实现注册功能的网站把注册网页源码 COPY 下来,很简单的封装了下。用的时候发现要改的东西多不是 很方便。用 ASP.NET AJAX 控件吧 Web.config 改动实在太大,也不知道会有什么问题,用 AJAX.NET 又是刚接触 AJAX 要快速进入有难度。网上看到 ASP.NET AJAX(Atlas) Anthem.NET——管中窥豹般小小比较》 ,于是 下载 下来使用。正如网上的评价一样:轻量、快速。使用非常简单:

1.将DLL文件添加到Bin目录中,需要的话把控件加 到控件栏以后直接拖动添加。
2.设置Web.config:configuration>/ <system.web>/ <pages>/ <controls>中添加<add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/>,注册Anthem.NET控件,一劳永逸。或者在你需要用的页面中添加注册<%@ Register TagPrefix="anthem" Namespace="Anthem" Assembly="Anthem" %>。

      环境构建完毕就可以开始使用了。
前台代码如下:
   <anthem:TextBox ID="txtTitle" runat="server" Width="250px" TextMode="multiLine" Height="23px" AutoCallBack="true" OnTextChanged="txtTitle_TextChanged"/>
   <anthem:Image  ID="imageIndicator" runat="server" Visible="false"/>
   <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtTitle" ErrorMessage="请输入标题!" Display="dynamic" Width="106px"></asp:RequiredFieldValidator>
   <anthem:Label ID="lblMsg" runat="server" Text="" ForeColor="red"/>

后台代码如下:
    protected void txtTitle_TextChanged(object sender, EventArgs e)
    {
        //检查标题的唯一性
        DocumentUtility du = new DocumentUtility();
        if (du.CheckTitle(txtTitle.Text.Trim()) == true)
        {
            lblMsg.Text = "以此为标题的文档已存在!";
            lblMsg.UpdateAfterCallBack = true;
            imageIndicator.Visible = true;
            imageIndicator.ImageUrl = "../image/check_error.gif";
            imageIndicator.UpdateAfterCallBack = true;
        }
        else
        {
            lblMsg.Text = "";
            lblMsg.UpdateAfterCallBack = true;
            imageIndicator.Visible = true;
            imageIndicator.ImageUrl = "../image/check_right.gif";
            imageIndicator.UpdateAfterCallBack = true;
        }
    }

我只是把原来的TextBox改为Anthem.NET的TextBox,再加入个指示图片,可以说极少的修改,非常简单就实现了无刷新的唯一性检查。截 图如下:

o_checkRight.jpg

使用初感:Anthem.Net的学习曲线几乎为0,马上就能上手。Anthem.NET不愧是优秀的AJAX框架,虽然固定不容易扩展,但是轻量、快 速。
这是博客园的高手的评价:

#42楼  2006-11-23 09:33 | Terry Deng     

刚刚接触ASP.NET AJAX没多久,又看到Dflying Chen这篇文章,立刻动手将原有用ASP.NET AJAX开发的简单项目移植到Anthem.NET,虽然花了不少时间,但出来的效果绝对是喜人的!页面的执行效率从肉眼就能明显感觉有不少的提升,正如 Dflying Chen所说Anthem.NET是ASP.NET AJAX的轻量级实现,甚至可以说是完美的轻量级实现。而在实践之后得出Anthem.NET相比ASP.NET AJAX的优势:

1.性能优势非常明显,在原有项目 asp.net ajax结构中所用到的Microsoft.Web.Extensions.dll及Microsoft.Web.Preview.dll分别是 646KB和898KB,而移植到Anthem.NET所用到的Anthem.dll仅仅120KB。换言而之,Anthem.NET的代码量仅仅是 asp.net ajax的12分之一。无疑Anthem.NET代码的简洁换来的是AJAX执行效率的高效及页面性能的提升。可以说,Anthem.NET相比 asp.net ajax最大的优势及吸引人的亮点就是性能方面的优势!

2.感觉Anthem.NET每一个控件单 独设置异步回调的AJAX方式比asp.net ajax的updatepanel局部页面刷新实现的异步回调的AJAX方式更加合理化及细致化一点。

3.Anthem.NET代码的简洁使脚本 的出错机率大大降低,原来项目用asp.net ajax时频繁点击页面有时会出现脚本的错误,在Anthem.NET中就不再存在了。

当然相比ASP.NET AJAX的不足也是显然易见的:

1.从原有项目移植到AJAX框架的便捷性 来说asp.net ajax无疑更具优势,从普通框架的项目移植到AJAX框架,使用asp.net ajax只需将原有页面的所有东西嵌套到Updatepanel之内即可简单实现AJAX,但Anthem.NET却需要一个个地修改原有控件及增加相关 属性,如遇到控件比较多的项目就需要花上大量的时间。

2.从技术文档及相关资源来说 asp.net ajax绝对占据优势,从长远的开发前景来说,拥有微软官方支持的asp.net ajax比个人开源项目的Anthem.NET来说更容易普及开来。

3.asp.net ajax能开发更加复杂的Ajax应用,从各自相关例子就能看出,asp.net ajax能实现更为复杂的应用,毕竟Anthem.NET代码量仅仅是asp.net ajax的12分之一,不可以兼顾那么多的应用。不过从Anthem.NET提供的例子也可以看出,基本上实际开发所需要到的应用Anthem.NET都 已经提供了。毕竟实际开发中我们并不需要太多的复杂应用,所以Anthem.Net还是不错的。

个人感觉从Asp.NET执行性能上来讲 Anthem.NET>Ajax.net>Asp.net ajax,从ASP.NET适用性来讲ASP.NET AJAX>Anthem.NET>Ajax.net。

Anthem.NET下载地址:http://nchc.dl.sourceforge.net/sourceforge/anthem-dot-net/anthem-1.5.2.zip

参考资料:

Anthem.NET forum:http://forums.anthemdotnet.com/forums/
Anthem.NET Samples:http://anthem.talloaksoftware.com/
Anthem Documentation:http://anthem-dot-net.sourceforge.net/docs/
Anthem.NET - 木野狐(Neil Chen) - 博客园:http://www.cnblogs.com/RChen/category/69922.html





你可能感兴趣的:(Ajax,assembly,asp.net,XMLhttpREquest,textbox,ajax框架)