MagicAjax使用手冊

MagicAjax使用手冊
----------------------------------------------------------------------------------------------------
0001:
    MagicAjax官方主頁:www.magicajax.net
----------------------------------------------------------------------------------------------------
0002:
    MagicAjax的局限性:
    ●在AjaxPanel的AjaxCall過程中,如果有樣式變化,客戶端瀏覽器將不會刷新(除非使用MagicAjax的類庫處
理)。
    ●FileUpload空間在AjaxPanel中無法使用。
----------------------------------------------------------------------------------------------------
0003:
    如何去掉MagicAjax中的Loading:
    ●獲取MagicAjax的源代碼(如果升級到.NET 2.0,則要使用新生成的這個項目文件打開編譯)。
    ●打開MagicAjax源代碼中的AjaxCallObject.js文件,找到CreateWaitElement函數(代碼最後的一個函數)。
    ●可以修改為如下代碼:(去掉了Loading)
    function CreateWaitElement() {
        var elem = document.getElementById('__AjaxCall_Wait');
        if (!elem) {
            elem = document.createElement("div");
            elem.id = '__AjaxCall_Wait';
            elem.style.visibility = 'hidden';
            document.body.insertBefore(elem, document.body.lastChild);
        }
        waitElement = elem;
    }
    ●重新編譯項目即可。
----------------------------------------------------------------------------------------------------
0004:
    MagicAjax的使用:
    ●添加MagicAjax.dll的引用。
    ●在工具箱中也添加MagicAjax.dll(這樣就可以直接拖拽控件到頁面上)。
    ●配置web.config:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <!--【1】為MagicAjax添加的配置-->
        <section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
      </configSections>
      <!--【2】為MagicAjax添加的配置-->
      <magicAjax tracing="false">
        <pageStore/>
      </magicAjax>
      <appSettings/>
      <connectionStrings/>
      <system.web>
        <pages>
          <controls>
            <!--【3】為MagicAjax添加的配置-->
            <add namespace="MagicAjax.UI.Controls" assembly="MagicAjax" tagPrefix="ajax"/>
          </controls>
        </pages>
        <httpModules>
          <!--【4】為MagicAjax添加的配置-->
          <add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
        </httpModules>
        <compilation debug="true">
          <assemblies>
            <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
          </assemblies>
        </compilation>
        <authentication mode="Windows"/>
      </system.web>
    </configuration>
----------------------------------------------------------------------------------------------------
0005:
    MagicAjax很好的解決了腳本跨域問題,如果Ajax是在一個嵌入在Iframe的頁面中實現的,那麼微軟的Atlas是
無法解決跨域問題(微軟官方已經說明)。那麼這種情況的Ajax實現可以使用MagicAjax和AjaxPro的實現。
----------------------------------------------------------------------------------------------------
0006:
    CallTimer的使用:
    HTML部分:
    <ajax:AjaxPanel ID="AjaxPanel1" runat="server">
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField HeaderText="進程名稱" DataField="ProcName" />
                <asp:BoundField HeaderText="內存佔用率" DataField="ProcMemory" />
            </Columns>
        </asp:GridView>
    </ajax:AjaxPanel>

    源代碼部分:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            MagicAjax.AjaxCallHelper.SetAjaxCallTimerInterval(500);
        }
        ShowProcesses();
    }

    private void ShowProcesses()
    {
        System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcesses();

        System.Data.DataTable dt = new System.Data.DataTable("Processes");
        dt.Columns.Add("ProcName");
        dt.Columns.Add("ProcMemory", typeof(Int64));

        foreach (System.Diagnostics.Process process in processes)
        {
            dt.Rows.Add(new object[] { process.ProcessName, process.WorkingSet64 / 1000 });
        }

        System.Data.DataView dv = dt.DefaultView;
        dv.Sort = "ProcMemory DESC";

        this.GridView1.DataSource = dv;
        this.GridView1.DataBind();
    }
----------------------------------------------------------------------------------------------------
0007:
    在AjaxPanel中使用消息提示框:MagicAjax.AjaxCallHelper.WriteAlert("你好");
----------------------------------------------------------------------------------------------------

posted on 2007-11-28 18:03  巍巍边疆  阅读(695)  评论(0编辑  收藏  举报