2012-12-18 69 views
0

我试图弄清楚这里有什么问题。当我禁用ViewState for usercontrol在我的updatepanel内时,它只是不更新​​内容。EnableViewState =“false”不会更新asp.net中的updatePanel

这里是我的代码:

如果我设置页面的ViewState真其工作正常,但它并不能掩盖它,当我需要它。

<asp:UpdatePanel ID="CheckoutUpdatePanel" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <uc:ClickAndCollect ID="ClickAndCollectPanel" runat="server" Visible="false" EnableViewState="false" /> 
     </ContentTemplate> 
</asp:UpdatePanel> 

======================

我的用户控制

我的用户控件还包裹在里面的UpdatePanel ..

- :它没有ViewState的任何效果,即使我禁用它。它在其他页面上正常工作

请帮忙。

感谢, 米兰P

回答

1

当我的用户控件禁用视图状态我的UpdatePanel内,其 只是没有更新内容。

既然你UpdatePanelUpdateMode是‘有条件’,则需要手动Update它。

例如在您想要显示的事件处理程序的地方/隐藏:

ClickAndCollectPanel.Visible = false; 
CheckoutUpdatePanel.Update(); 

UpdatePanel.Update Method

调用Update方法,如果你有服务器的代码必须执行的 确定是否一个UpdatePanel控件应该被更新。如果您打算使用更新方法 ,请将UpdateMode属性设置为 有条件。如果您想要决定更新逻辑服务器 中的面板,请确保ChildrenAsTriggers属性为false,并且 未为面板定义明确的触发器。

+0

我试过wh在你说,但它仍然不工作... –

+0

@ patel.milanb:你用启用的ViewState试过了吗? –

+0

我认为更新面板需要viewstate来处理控制状态,即使是部分更新。 –

1
I think you should have ViewState information enabled always 
for doing update with Update Panel. 

The update panel will refer the control state using ViewState even 
for partial request. This is why sometimes people say ASP.Net is evil, 
since it sends the whole page view state for every ajax request as parameter. 

因此,我认为更新面板/ asp.net AJAX严重依赖于视图状态ASP.Net Ajax的

http://encosia.com/why-aspnet-ajax-updatepanels-are-dangerous/

Limiting view state information on AJAX calls

相关问题