AjaxPro 是一個可以整合在 .NET 1.1 和 2.0 系統下的 Ajax Framework, 雖然微軟目前巳有出自已的 Ajax.NET , 不過公司是用 Visual Studio .NET 2003 為主要開發工具, 在必須使用 .NET 1.1 下似乎 AjaxPro 是目前較好的選擇。


AjaxPro 有通過 MPV, 代表微軟官方也是有認證的。

安裝說明(以 Visual Studio .NET 2003 為範例)
首先到官方網站 http://www.ajaxpro.info/ 下載 6.10.6.2_DLL.zip 目前版本 v6.10.6.2, 解壓縮後會見到 6個檔案。

開啟你要使用 AjaxPro 的 Visual Studio 專案, 然後加入參考選擇 AjaxPro.dll, 如果你是要使用到 .NET 2 就選 AjaxPro2.dll。

用記事本開啟壓縮檔內的 web.config, 用搜尋找 Handler configuration for Ajax.NET Professional ,將找到位置以下標籤 location 的文字區塊內容複製,然後貼上 Visual Studio 專案內的 web.config, 貼上位置在 configuration 標籤之內,記得將預設 type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" 改為 type="AjaxPro.AjaxHandlerFactory, AjaxPro" 詳細可以參考下載的 web.config 設定。

範例程式
1.先在專案內新增處理 Server 端工作的 Class:
在要執行的函數上加上 [AjaxPro.AjaxMethod], 注意Function 是宣告為 static, 這個範例目地是取得 Clent 端傳來的文字加上日期回傳。

public class AjaxProHandle
{
[AjaxPro.AjaxMethod]
public static string Fun(string arg) {
return arg + " - " + System.DateTime.Now.ToString();
}
}

2. 在 Page_Load 下用 AjaxPro.Utility.RegisterTypeForAjax 註冊:
typeof 下是上面 class 的名稱。

private void Page_Load(object sender, System.EventArgs e)
{
// 在這裡放置使用者程式碼以初始化網頁
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxProHandle));
}

3. 在網頁 Client 端 撰寫執行接收的 javaScript:
注意這裡的 CWeb.AjaxProHandle 是 namespace + class name , 我的測試是 namespace 不能省略。

function doAjaxTest()
{
var val = document.Form1.content.value;
var obj = CWeb.AjaxProHandle.Fun(val); alert(obj.value);
}


4. 改為非同步執行
上述的範例網頁是要等到 Server 執行回傳才繼續動作, 一般情况希望不影響使用者操作下要改為非同步執行, 只需要修改 javascript 就可以做到了。

function doAjaxAsyncTest()
{
var val = document.Form1.content.value;
CWeb.AjaxProHandle.Fun(val,doAjaxCallBack);
}

function doAjaxCallBack(obj)
{
alert(obj.value);
}

5. 程式碼下載
http://www.divshare.com/download/94716-11e

6. 結論
Ajaxpro 是一個比較單純的 Ajax Framework , 不像其它知名的有很豐富的 UI 支援, 主要是能整合 Visual Studio .NET 2003, 不過在一般資料庫網頁程式上也就夠用了, 其它更多範例可以參考它的網站。

felixhuang 發表在 痞客邦 留言(0) 人氣()