























AjaxPro基础知识 and FAQ
是从实际的项目中抽取出来的,目的是备忘,以后看时有条理。
我只用到了ajaxpro.2.dll
1. 在web.config中的system.web/httpHandlers小节:<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
2. 在Page_Load事件中注册页面类型:
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(WebAdmin_RefreshCompleteScore));
}
注意:必须使用typeof,如果使用了this.GetType()则没有效果。因为没有相关文档,我也没费那心思,所以不是很清楚原因。(这个问题耗费了我两天的时间才顿悟,粗心大意加自由散漫害死人啊, 以后一定照标准做)
3. 将方法标记为[AjaxPro.AjaxMethod]:
[AjaxPro.AjaxMethod]
public string Hello()
{
return "Hello, now is " + DateTime.Now;
}
4. 在页面中写js脚本
<script type="text/javascript" language="javascript">
function Hello()
{
AjaxPro.timeoutPeriod = 150000 // 设置超时的时间, 这里只是演示一下,大多数情况不用写
var info = "请稍候,正在处理数据..."
$('#cc_lblMessage').html(info);
WebAdmin_RefreshCompleteScore.Hello(CallBack);
}
function CallBack(rc)
{
alert(rc.value);
}
</script>
var result = ClassName.func();
就是同步调用
可以的,这个真是方便,估计ajaxpro直接处理成json了,哈哈,在c# 3中使用匿名类更爽。
[AjaxPro.AjaxMethod]
public object Delete(int id)
{
......
if (userCnt > 0)
{
return new { IsSuccessful = false, Message = "该用户组存在用户,不能删除。" };
}
else
{
......
return new { IsSuccessful = true, Message = "该用户组已删除。" };
}
}
ps: c# 3的匿名类是只读的,哎真不爽啊
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。