Ajax.Net之入阶篇

前两天写了那篇Ajax.Net的体会,有朋友问题这个东东应该怎么配置,代码应该怎么写。其实在它的example里面有一个QuickGuide.txt说的比较清楚,但是我还是这里来根据我的亲身体验来一步一步的演示一下。我的开发环境是Windows XP SP2,VS.Net 2005 Beta2。

首先到http://ajax.schwarz-interactive.de/download/AjaxSample.zip 下载Demo包,或者在这儿http://ajax.schwarz-interactive.de/download/ajax.zip 直接下载ajax.dll。

1、在VS.Net中新建一个Web Project,引用ajax.dll。
2、修改web.config,在里面增加
<configuration>
  <system.web>
    <httpHandlers>
    <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers> 
    ...
  <system.web>
</configuration>
这是利用HttpHandlers来动态生成Javascript用的。

3、我们新建一个实现业务逻辑的类,并在里面增加一个方法。
public class class1
{
 [Ajax.AjaxMethod()]
 public int ServerSideAdd(int firstNumber, int secondNumber)
 {
  return firstNumber + secondNumber;
 }
}
4、在default.aspx.cs的Page_Load事件中增加一行
    protected void Page_Load(object sender, EventArgs e)
    {
        Ajax.Utility.RegisterTypeForAjax(typeof(class1));
    }
5、在default.aspx页面文件中,写上这如下Javascript代码
<script>
function f1(a,b)
{
  alert(class1.ServerSideAdd(a,b).value);
}
</script>
意思是调用class1的ServerSiderAdd函数,并显示出来
6、在页面中再增加一个链接来触发这个函数
<a href="javascript:f1(2,3);">calculate</a><br>
好,现在编译运行一下看看。当你点击页面上的“calculate”链接时,是不是如你所愿的出现了5?
而这一切都是后台计算,并且浏览器页面没有刷新。

后记:
如果所有步骤做完,你会在生成页面的源代码中发现如下代码:
<script type="text/javascript" src="/WebSite1/csharpwrapper/common.ashx"></script>
<script type="text/javascript" src="/WebSite1/csharpwrapper/class1,App_Code.94psvga2.ashx"></script>
你可以把这两个script下载并打开看看,Ajax.Net到底在里面做了些什么,而有如此神奇的功能。

posted on 2005-08-19 12:09 kane 阅读(...) 评论(...) 编辑 收藏

导航

公告