Anthem.NET使用初感

最近项目要求,有个类似用户注册的唯一性检 查的功能,虽然写上了但是交互性不够,用户体验太差。于是开始学习AJAX。刚开始的想法是直接用JSXMLHttpRequest来实现,难度不大。 找了点书再从用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_checkError.jpg
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





转载于:https://www.cnblogs.com/JasonLin/archive/2008/05/15/1198044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值