AjaxPro for .net 基础例子

来源:互联网 发布:淘宝客服周总结怎么写 编辑:程序博客网 时间:2024/05/16 12:13
AjaxPro for .net 基础例子

这里就不阐述Ajax别的东西了,用到了一个DLL,地址如右:www.schwarz-interactive.de 直接上例子

1。这里的环境是VS2005,用到了里面的AjaxPro.2.dll,新建个Asp.net的工程,名字叫AjaxProDemo,引用AjaxPro.2.dll到工程里(放在BIN文件夹下,废话!)

2。保存运行一下,会生成Web.Config,搞不清楚2005为什么不建立工程的时候匹配一个Web.Config 。。。。。。

3。在生成的Web.Config里加上这样一段话     <system.web>
    <httpHandlers>
      <add verb="POST,GET" path="AjaxProDemo/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
    </httpHandlers>                                                                                                                                
他的意思是所有的ajaxpro/*.ashx请求都由Ajax.PageHandlerFactory处理,而不是由默认的System.Web.UI.PageHandlerFactory处理程序工厂来处理.

4。编写服务器端的Ajax函数: 

他和普通的服务器方法唯一不同的地方就是他必须要在方法的上面添加[AjaxPro.AjaxMethod]

在Default.aspx的页面中加如下面的代码(几乎所有的Ajax的基础例子都是以做加法开始的                  [AjaxPro.AjaxMethod]
public string AddTwo(int firstInt, int secondInt)
{
    return Convert.ToString(firstInt + secondInt);
}

5。编写完成步骤4后在Page_Load里面把这个类注册一下

protected void Page_Load(object sender, EventArgs e)
{
    AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
}

6。编写Default的前台代码了。。

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">                   <html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>AjaxProUseDll</title>
    <script language="javascript" type="text/javascript">
    function addInt()
    {
        var i1 = document.getElementById('T1').value;
        var i2 = document.getElementById('T2').value;
        document.getElementById('B2').value = _Default.AddTwo(i1,i2).value;
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" id="T1" /> + <input type="text" id="T2" /> = <input type="button" id="B2" value="相加求和" onclick="addInt()" />
    </div>
    </form>
</body>
</html> 

这里很简单的放了两个文本框,一个按钮,点它的时候调用服务器的AddTwo方法。。。,注意值的返回需要.value(这里全是用的HTML控件,别加成了服务器控件)

7。在项目里建立一个Global.asax的页面。。。(这个地方浪费了半个小时才解决),在Application_Start事件里加上AjaxPro.Utility.HandlerPath = "AjaxProDemo";如果不出什么意外的话,运行程序。。。输入数字点按钮应该会得出相加的结果了。。。这里需要说明的是,这个Ajaxpro也可以在vs2003中运行,不过引用的DLL是AjaxPro.DLL,另外2003默认会有一个namespace,这个时候需要在页面最上改为Inherits="[你的namespace名称]._Default"。之后在JS里调用服务器的时候就不是_Default.AddInt().value,需要改成[你的namespace名称]._Default.AddInt().value(奇怪2005也没有了默认的namespace了,但如果有需要,加上也可以)

 
原创粉丝点击