webParts与UpdatePanel都是ms的产品,直接将webparts放在updatePanel里,原以为就可以搞定webparts无刷新拖动了,试验了一下:令人大跌眼镜,居然没反应,看来ms各产品之间的兼容性还有待改进
到网上搜索了一下,发现一个第三方的ajax工具:majicajax可以搞定这一问题(官方网站:www.majicajax.net)
这里转贴一个网友对此问题的文章:
介绍MagicAjax
Web.config的配置如下:
<?xmlversion="1.0"?>
<configuration>
<configSections>
<sectionname="magicAjax"type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<magicAjaxtracing="false">
<pageStore/>
</magicAjax>
<system.web>
<authenticationmode="Forms"/>
<pages>
<controls>
<addnamespace="MagicAjax.UI.Controls"assembly="MagicAjax"tagPrefix="ajax"/>
</controls>
</pages>
<webParts>
<personalizationdefaultProvider="Nsquared2SqlPersonalizationProvider">
<authorization>
<allowusers="*"verbs="enterSharedScope"/>
</authorization>
<providers>
<addname="Nsquared2SqlPersonalizationProvider"type="Nsquared2.Web.UI.WebControls.WebParts.SqlPersonalizationProvider, Nsquared2.Web"connectionStringName="PortalConnectionString"varyByParams="ParentDPID,DPID,UserId"></add>
</providers>
</personalization>
</webParts> <httpModules>
<addname="MagicAjaxModule"type="MagicAjax.MagicAjaxModule, MagicAjax"/>
</httpModules>
<compilationdebug="true">
<assemblies>
<addassembly="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的例子。
参看在线演示http://demo2.magicajax.net/examples/WebParts.aspx
http://www.cnblogs.com/shanyou/archive/2006/01/19/320192.html