好好學習:學習MagicAjax(一)

來源:互聯網
上載者:User

先做好準備工作:把AjaxCallObject.js複製到虛擬目錄下的script目錄下(在配置資訊中與此對應),項目中添加MagicAjax.dll(官網地址是:http://www.magicajax.net/)

1,需要WEB.CONFIG中 加入配置資訊

            <magicAjax
            outputCompareMode="HashCode"
            tracing="false" scriptPath="~/aspnet_client/magicAjax" >
           <pageStore
               mode="NoStore"
               unloadStoredPage="false"
               cacheTimeout="5"
                  maxConcurrentPages="5"
               maxPagesLimitAlert="false"
           />
       </magicAjax>

<httpModules>
<add name="MagicAjax" type="MagicAjax.MagicAjaxModule, MagicAjax" />
</httpModules>

2,使用AJAXPANNEL實現AJAX功能,在aspx中差不多是這樣的:

<%@Register TagPrefix="ajax" Namespace="MagicAjax.UI.Controls" Assembly="MagicAjax" %>
<ajax:AjaxPanel id="AjaxPanel1" runat="server">
</ajax:AjaxPanel>

3,把需要無重新整理的控制項放進AJAXPANNEL

4,對拖入的控制項編寫委託事件

5,MAGICAJAX處理重新整理實際使用AJAXCALL,這個類似於POSTBACK ,但它只針對於 AJAXPANNEL中的控制項,而且CALLPACK時有一個LOADING指示。可以用MagicAjaxContext.Current.IsAjaxCall判斷是否是AJAXCALL事件(用戶端引發事件)或者用MagicAjaxContext.Current.IsAjaxCallForPage (TRANSFER引發)

6,為瞭解決中文亂碼問題,可以重新編譯原始碼,開啟MagicAjaxModule.cs檔案,看到
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = ((HttpApplication)sender).Context;

            // Init private fields
            _threadAbortExceptionThrown = false;
            _request = context.Request;
            _response = context.Response;

_response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//加入這個支援中文
//..........................................................

7,通過AjaxCallHelper提供很多靜態方法 ,不過還沒怎麼有機會用

8,當瀏覽器不支援JS頁面也不會報錯和變形,這個還不錯。

9,還沒有試過自訂控制項,不知道會不會出問題。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.