内容载入中...
华腾联合陪你一路学习 华腾联合
前2天做一个gis项目用到ajax,本来想用到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()属性
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
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>这个简单吧,等哪天有空我把数据生存期和一些客户端组件给移植过来,应该就像那么回事了。