Fork me on GitHub

使用MagicAjax 实现无刷新Webparts



介绍MagicAjax

Web.config
的配置如下:

<?xml version="1.0"?>

<configuration>

     <configSections>

          <section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>

     </configSections>

     <magicAjax tracing="false">

          <pageStore/>

     </magicAjax>

     <system.web>

          <authentication mode="Forms"/>

          <pages>

              <controls>

                   <add namespace="MagicAjax.UI.Controls" assembly="MagicAjax" tagPrefix="ajax"/>

              </controls>

          </pages>

<webParts>

              <personalization defaultProvider="Nsquared2SqlPersonalizationProvider">

                   <authorization>

                       <allow users="*" verbs="enterSharedScope"/>

                   </authorization>

                   <providers>

                       <add name="Nsquared2SqlPersonalizationProvider" type="Nsquared2.Web.UI.WebControls.WebParts.SqlPersonalizationProvider, Nsquared2.Web" connectionStringName="PortalConnectionString" varyByParams="ParentDPID,DPID,UserId"></add>

                   </providers>

              </personalization>

          </webParts>          <httpModules>

              <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>

     </system.web>

</configuration>

 

使用WebPart的页面如下:

<asp:WebPartManager ID="WebPartManager1" runat="server">
            </asp:WebPartManager>
            <ajax:AjaxPanel ID="AjaxPanel1" runat="server" Height="305px" Width="452px">
            <wmz:WebPartDisplayModesMenu ID="WebPartDisplayModesMenu1" runat="server" />
            <table style="width: 505px">
                <tr>
                    <td>
                        <asp:WebPartZone ID="WebPartZone1" runat="server">
                            <ZoneTemplate>
                                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                            </ZoneTemplate>
                        </asp:WebPartZone>
                    </td>
                    <td style="width: 280px">
                        <asp:WebPartZone ID="WebPartZone2" runat="server">
                            <ZoneTemplate>
                                <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
                            </ZoneTemplate>
                        </asp:WebPartZone>
                    </td>
                </tr>
            </table>
        </ajax:AjaxPanel>
把两个WebPartZone放在 MagicAjax's AjaxPanel.控件中,可以支持所有的WebPart的所有操作无刷新,类似于GoogleLoading……效果。具体的例子参看MagicAjax's提供的例子。例子中包含了一个使用WebPart的例子。

参看在线演示http://demo2.magicajax.net/examples/WebParts.aspx

posted @ 2006-01-19 12:12  张善友  阅读(6136)  评论(2编辑  收藏  举报