前2天做项目用到ajax,本想用ajaxpro,但出了点问题,又找不到AjaxPro源代码。树死人活,于是自己动手依葫芦画瓢,写了个类似的东东
下载地址:(含实例)
/Files/sukyboor/Ajax.rar
使用方法:
1。在web.config的system.web中加入
<!-- AJAX -->
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
2 AjaxTest.Br,AjaxTest表示业务处理类
为该类需要在客户端被调用的方法加入Ajax.AjaxMethod()属性
3 在页面中加入
<script src="ajax/common.ashx" type="text/javascript"></script>
<script src="ajax/AjaxScript.ashx?type=AjaxTest.Br,AjaxTest" type="text/javascript"></script>
注意AjaxScript.ashx文件的type就是要被调用的类,只要设置了type,那么该类中所有属性为Ajax.AjaxMethod()的方法在客户端都可以访问。
<HTML>
<HEAD>
<script src="ajax/common.ashx" type="text/javascript"></script>
<script src="ajax/AjaxScript.ashx?type=AjaxTest.Br,AjaxTest" type="text/javascript"></script>
<script>
//最后一个参数是回调方法。和后台交互完成后触发
Br.GetXmlDataRows('xt_Name_t','a','测试数据',showmsg);
Br.GetXmlDataRows('xt_Name_t','a','测试数据',showmsg);
//回调用方法 s为后台返回值
function showmsg(s){
var doc = new AjaxDom(s);
document.write(doc.selectSingleNode("doc/t").text);
}
//如果无回调方法,系统会等待数据读取。。。
document.write(Br.ShowMsg());
document.write(Br.ShowMsg());
</script>
</HEAD>
<body>
</body>
</HTML>
这个应该够简单了,等哪天有空我把数据生存期和一些客户端组件给移植过来,就像那么回事了。
下载地址:(含实例)
/Files/sukyboor/Ajax.rar
使用方法:
1。在web.config的system.web中加入
<!-- AJAX -->
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
2 AjaxTest.Br,AjaxTest表示业务处理类
为该类需要在客户端被调用的方法加入Ajax.AjaxMethod()属性
1
using System;
2
using Ajax;
3
4
namespace AjaxTest
5
{
6
/// <summary>
7
/// Br 的摘要说明。
8
/// </summary>
9
public class Br
10
{
11
12
//得到表TableName的所得数据,以XML字符串返回
13
[Ajax.AjaxMethod()]
14
public static string ShowMsg()
15
{
16
return "系统调用返回!";
17
}
18
19
//得到表TableName的所得数据,以XML字符串返回
20
[Ajax.AjaxMethod()]
21
public static string GetXmlDataRows(string t,string a,string b)
22
{
23
return string.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><doc><t>{0}</t></doc>",t);
24
}
25
}
26
}
27
using System;2
using Ajax;3

4
namespace AjaxTest5
{6
/// <summary>7
/// Br 的摘要说明。8
/// </summary>9
public class Br10
{11

12
//得到表TableName的所得数据,以XML字符串返回13
[Ajax.AjaxMethod()]14
public static string ShowMsg()15
{16
return "系统调用返回!";17
}18

19
//得到表TableName的所得数据,以XML字符串返回20
[Ajax.AjaxMethod()]21
public static string GetXmlDataRows(string t,string a,string b)22
{23
return string.Format("<?xml version=\"1.0\" encoding=\"utf-8\" ?><doc><t>{0}</t></doc>",t);24
}25
}26
}27

3 在页面中加入
<script src="ajax/common.ashx" type="text/javascript"></script>
<script src="ajax/AjaxScript.ashx?type=AjaxTest.Br,AjaxTest" type="text/javascript"></script>
注意AjaxScript.ashx文件的type就是要被调用的类,只要设置了type,那么该类中所有属性为Ajax.AjaxMethod()的方法在客户端都可以访问。
<HTML>
<HEAD>
<script src="ajax/common.ashx" type="text/javascript"></script>
<script src="ajax/AjaxScript.ashx?type=AjaxTest.Br,AjaxTest" type="text/javascript"></script>
<script>
//最后一个参数是回调方法。和后台交互完成后触发
Br.GetXmlDataRows('xt_Name_t','a','测试数据',showmsg);
Br.GetXmlDataRows('xt_Name_t','a','测试数据',showmsg);
//回调用方法 s为后台返回值
function showmsg(s){
var doc = new AjaxDom(s);
document.write(doc.selectSingleNode("doc/t").text);
}
//如果无回调方法,系统会等待数据读取。。。
document.write(Br.ShowMsg());
document.write(Br.ShowMsg());
</script>
</HEAD>
<body>
</body>
</HTML>这个应该够简单了,等哪天有空我把数据生存期和一些客户端组件给移植过来,就像那么回事了。
百足之虫,死而不僵


浙公网安备 33010602011771号