如何使用:MagicAjax
MagicAjax 的引言及如何配置MagicAjax(.NET Framework 1.1)
2006-10-10 15:12
在web2.0熱炒的年代,Ajax成了一種潮流 。其基本概念在此不再贅述,你可以從 http://news.csdn.net/n/20051027/28202.html 瞭解一些資訊。
MagicAjax是一個針對.NET 1.1和2.0的一個Ajax解決方案。你可以在處http://prdownloads.sourceforge.net/magicajax/magicajax-0.3.0-source.zip?download下載到它。其推出形式是一個WebControl,你可以在自己的VS.NET的ToolBox裡添加這個DLL,然後就可以像普通的控制項一樣拖出來使用了。
鑒於目前大部分人都是使用.NET Framework 1.1,我們只提供對1.1的講解
要正確地使用MagicAjax的控制項,請按照以下步驟進行部署:
1.將MagicAjax的DLL Copy到自己的主要工作Project的BIN裡
2.在VS.NET的ToolBox裡添加該DLL
3.MagicAjax的壓縮包裡還附有兩個js的指令檔,一個是AjaxCallObject.js,一個是WebParts.js。前者是負責MagicAjax的普通事務的用戶端表現的,後者則是專門針對WebParts的指令碼。將兩者都Copy到你的主要存放JS的目錄下。以我的solution為例,我將此二者 Copy 到 網站根目錄下的 script 檔案夾裡存放
4.修改Web.Config 在MagicAjax的forum裡有很多詢問過這個問題,其實Bekas給出的例子裡有一些問題。
正確的配置應該是如下的方式
首先,在web.config的<configSections></configSections>裡建立如下的標籤
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
如果你的web.config 裡沒有<configSections></configSections>
請copy下面的片斷,並確保它們是存放在<configuration></configruation>裡的
<!--**************************************************-->
<configSections>
<section name="magicAjax"
type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<!--**************************************************-->
下一步,在<configure></configure>標籤裡建立如下的內容
<magicAjax scriptPath="~/script" outputCompareMode="HashCode" tracing="false">
<pageStore
mode="NoStore"
unloadStoredPage="false"
cacheTimeout="5"
maxConcurrentPages="5"
maxPagesLimitAlert="true"
/>
</magicAjax>
參數解釋如下:
/*********************************************************/
MagicAjax
一.scriptPath 我們剛才提到的那兩個指令碼的存放路徑,這個參數在設定的時候以~/ ,也就是網站的根目錄作為一個出發點。比如,你要設定magicajax的js指令碼到網站的根目錄的blog下的script裡,則寫成 ~/blog/script。其餘情況大家自己推理~
二.outputCompareMode 指令碼輸出時的比較模式 有三種方式 FullHtml、HashCode、MD5
HashCode即可。具體的細節將在後面的章節裡講述。
三. tracing 是否跟蹤 如果設定為true的話,則在每次響應Ajax請求的時候會彈出一個alert來顯示具體要載入的指令碼
僅用於調試
/*********************************************************/
PageStore 用於配置Ajax的js指令碼的緩衝的標籤
一.mode Page Object Storage Service的模式 有三種方式 NoStore、Session、Cache。
NoStore,將不會緩衝Page 對象
Session,將會把Page Object Storage Service到網站的Session裡
Cache,將會把Page Object Storage Service到網站的Cache裡。
二.unloadStoredPage 是否在Page的Unload對象裡清除掉建立的Page 對象的Cache或者Session。一般都設定為false。
三.cacheTimeout Cache的到期時間 以分鐘為單位
四.maxConcurrentPages 同一個頁面可以緩衝的Page 對象的數量 一般為5
五.maxPagesLimitAlert 是否對達到最大緩衝數進行警告 一般為 false
為什麼要快取頁面面對象,我們將在以後的章節裡解釋
/*********************************************************/
最後一步,在<System.Web></System.Web>標籤的
下級標籤 <httpModules> </httpModules>裡建立
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
如果你的<System.Web></System.Web>裡沒有<httpModules></httpModules>
請複製以下標籤到你的<System.Web></System.Web>裡
<httpModules>
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
</httpModules>
以上就是配置的步驟了。