心静自然凉~

一杯清茶、二盏淡酒、邀三五知己,诉七八句心语,道九分珍重,怀十分真诚,或伤感、或快乐,无现实之隔阂 、无世俗之势利,如此人生,不亦乐乎!

导航

Ajax Pro 使用

Posted on 2007-09-17 16:07  Leo.Zhu  阅读(437)  评论(0编辑  收藏  举报

最近看了看关于ajax pro的东西,因为要开发WebPhone的时候,就使用了该方法,


WebpHone中是一个可以在Web上去MakeCall的页面,过程就是当用户要联系客户的时候,提供一个可以MakeCall给Agent的方法,或自动拨号打给用户,当接通后再连接到Agent. 当然了,这个需要硬件的支持.

这里我只是说说关于前台去调用后台的一个方法.使用Ajax Pro的方法. 至于后台的处理过程....太麻烦,略去

1. 将ajax.dll引入到工程中。

2. 修改Web.config 文件,在System.web的节点下添加如下:

<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>

3. 在要使用的页面中的Page_Load 方法中添加 对Ajax的支持。及写一个简单方法,并给方法的属性标注为AjaxMethod。

public partial class Demo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

Ajax.Utility.RegisterTypeForAjax(typeof(Demo));
}

[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public int LogIn(string userName,string Pwd)
{
return 0;
}
}

4. 页面调用,其中Login_CallBack 是回调的方法,当然,这里使用了异步的方式,也可使用同步的方式,同步方发只要在调用LogIn的时候,不要带入回调就可以了。如果调用的过程如果很长的话,应该使用异步的方法,在调用后,可以显示一个loading然后等待返回。当返回后,在更新界面咯。

function IMG1_onclick() {
var userName = $("Username").value;
var userpwd= $("Password").value;
Demo.LogIn(userName,userpwd,Login_CallBack);
}

function Login_CallBack(response)
{
if (response.error != null)
{
alert(response.error);
return;
}
var states = response.value;
if (states == null)
{
return;
}
if(states == 0)
{
window.location = "Default.aspx";
}
}