前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![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
namespace AjaxTest
5
{
6
/// <summary>
7
/// Br 的摘要说明。
8
/// </summary>
9
public class Br
10
{
11![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
//得到表TableName的所得数据,以XML字符串返回
13
[Ajax.AjaxMethod()]
14
public static string ShowMsg()
15
{
16
return "系统调用返回!";
17
}
18![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
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![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
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()的方法在客户端都可以访问。
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
这个应该够简单了,等哪天有空我把数据生存期和一些客户端组件给移植过来,就像那么回事了。
百足之虫,死而不僵