最近看了看關於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";
}
}