介绍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的所有操作无刷新,类似于Google的Loading……效果。具体的例子参看MagicAjax's提供的例子。例子中包含了一个使用WebPart的例子。