Anthem.net试用手记之使用篇。

    这几天熟悉Anthem.net框架的过程中,最大感觉就是如果熟悉Asp.net ajax框架,那么要上手Anthem.net是非常容易的,为什么这样说?那我们就要从Anthem.net的使用说起 ,首先不用像asp.net ajax那样在原来项目中的web.config加入一大堆定义,仅仅需要在页面加入定义来引用Anthem.net,语句如下:

<%@ Register TagPrefix="anthem" Namespace="Anthem" Assembly="Anthem" %>

简单地说就是引入一个Anthem的自定义控件而已,如果页面比较多,也可以直接在web.config<configuration>\ <system.web>\ <pages>\ <controls>中定义:

<add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/>

 之后我们要为原有Asp.net项目实现ajax效果,使用Anthem.net主要有如下几种方式:

 1、 Anthem:Panel方式

Anthem.net为我们提供了一个叫anthem:panel控件,该控件继承原有ASP:Panel控件的所有属性及方法并增加异步回调及刷新的功能,不过与其它同样是由Anthem.net提供继承并增加异步回调及刷新的控件有点不同,Anthem:PanelAsp.net ajaxupdatepanel控件有点相似,只需将原有项目的Asp.net控件放进Anthem:Panel内,即可简单地实现ajax效果,其作用基本与asp.net ajax updatpanel是一样的,只不过设置上有少少不同,请看下面的对比:

作用

Asp:Updatepanel

Anthem:Panel

任何控件引发的回送均将更新该控件。

UpdateMode=Always

AutoUpdateAfterCallBack=true

只有服务器端调用相应方法才会引发更新该控件。

UpdateMode=Conditional,服务端调用Update方法

AutoUpdateAfterCallBack=False,服务端设置 UpdateAfterCallBack=true

是不是有点“孪生兄弟”的味道?

 2、 AutoUpdateAfterCallBack方式
将所有由Anthem.net提供的控件设置为AutoUpdateAfterCallBack=true即可实现ajax,像原来的<asp:GridViewr id=”mygrid” runat=”server” />改为<anthem:GridView id=”mygrid” AutoUpdateAfterCallBack=true runat=”server”/>即可实现GridView的异步回调及刷新,而且原有GridView里面的自定义模版也完全不需要更改,比如模版里带了一个asp:linkbutton控件,那么也无需改为anthem:linkbutton也能正常实现无刷新回调。

3、 UpdateAfterCallBack方式
如果觉得直接设置控件为AutoUpdateAfterCallBack=true不够细致化,那么也可以直接在后台方法中通过设置相应控件为UpdateAfterCallBack=true来实现无刷新回调,其实现方式有点类似调用updatepanelupdate方法。

页面:

<div>

    
<anthem:Button ID="btnSetText" runat="server" Text="Set Text" OnClick="btnSetText_Click" />

    
<anthem:Label ID="lbText" runat="server" />

</div>

后台方法:

protected void btnSetText_Click(object sender, EventArgs e)
{

    lbText.Text 
= "This text is set on server side.";

    lbText.UpdateAfterCallBack 
= true;

}

4、 重写原有控件
使用asp.net ajax会发现,对于包含在updatepanel中的一些第三方控件会出现一些不兼容问题,在Anthem.net中也一样存在这个问题,但Anthem.net的优势就是开源,只要第三方控件也是开源的话,我们就可以重写控件使其直接实现无刷新回调功能,官方例子中已经有相关演示,我就不多说了,而且我也会在下一篇的实战篇中改造FCKeditor控件,使其成为名符其实的FCKeditor For Anthem.net控件!

posted on 2006-11-29 12:06  Terry Deng  阅读(2832)  评论(3编辑  收藏  举报