使用Ajaxpro的四个必备条件:
1.添加对AjaxPro的引用。
注:.net1.X是用了AjaxPro.dll;.net2.0是用了AjaxPro.2.dll;
2.配置webconfig的httpHandlers 节点,代码如下:
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandlers>
</system.web>
</configuration>
3.在使用AjaxPro页面的PageLoad中注册类,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
//注册类,typeof里是指页面类的类名,如放在命名空间下,则需要写上完整的命名空间,如:Ajaxpro._Default;
AjaxPro.Utility.RegisterTypeForAjax(typeof(Ajaxpro._Default));
}
4.后台被调用的方法上要写上[AjaxPro.AjaxMethod()] 标记:
//创建服务器端方法,该方法就变成一个AjaxPro可进行影射调用的方法。如下
[AjaxPro.AjaxMethod()]
public string getValue(int a, int b)
{
return (a + b).ToString();
}
----------------------------------------------------------------------------------
前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Ajaxpro._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>AjaxPro实例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="num1" type="text" onkeyup="getValue();" />+<input id="num2" type="text" onkeyup="getValue();" />=<input type="text" id="Res" />
<script type="text/javascript">
function getValue()
{
//该处即调用服务器端的_Default.getValue方法。 这在里边需要指定个回调函数,以接受服务器端处理完后返回客户端结果。
Ajaxpro._Default.getValue(form1.num1.value,form1.num2.value,callback);
}
//这个方法用户接受并处理服务器端返回的结果。
function callback(response)
{
var result=response.value;
form1.Res.value=result;
}
</script>
</div>
</form>
</body>
</html>
---------------------------------------------------------------------------------------------------
后台代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace Ajaxpro
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//注册类,typeof里是指页面类的类名,如放在命名空间下,则需要写上完整的命名空间,如:Ajaxpro._Default;
AjaxPro.Utility.RegisterTypeForAjax(typeof(Ajaxpro._Default));
}
//创建服务器端方法,该方法就变成一个AjaxPro可进行影射调用的方法。如下
[AjaxPro.AjaxMethod()]
public string getValue(int a, int b)
{
return (a + b).ToString();
}
}
}