【问题标题】:EnableViewState="false" does not update updatePanel in asp.netEnableViewState="false" 不更新 asp.net 中的 updatePanel
【发布时间】:2012-12-18 11:13:40
【问题描述】:

我想弄清楚这里的问题是什么。当我在我的更新面板中禁用用户控件的 Viewstate 时,它​​只是不更新​​内容。

这是我的代码:

如果我将 Page ViewState-true 设置为工作正常,但在我需要时它不会隐藏它。

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

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

我的用户控制

我的 UserControl 也包含在 updatePanel..

--: 即使我禁用它也不会对 ViewState 产生任何影响。它在其他页面上工作正常

请帮忙。

谢谢, 米兰P

【问题讨论】:

    标签: c# asp.net updatepanel viewstate


    【解决方案1】:

    当我在更新面板中禁用用户控件的 Viewstate 时,它​​的 只是不更新​​内容。

    由于您是UpdatePanelUpdateMode 是“有条件的”,因此您需要手动Update

    例如,在您想要显示/隐藏它的事件处理程序中的某处:

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

    UpdatePanel.Update Method

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

    【讨论】:

    • 我认为更新面板需要视图状态来处理控制状态,即使是部分更新。
    • 是的..我尝试使用 enableviewstate 及其工作..但是当我需要隐藏该面板时它没有隐藏..
    • @patel.milanb:那我完全不明白在做什么。您确定没有在某处的每次回发时重置可见状态吗?
    • 我没有重置 Visible 属性,如果选中了复选框,则显示用户控件,如果选中了另一个复选框,则隐藏用户控件。但是发生的事情是,当我单击另一个复选框时,即使我将它隐藏在另一个复选框选中的事件中,它仍然显示用户控件内容。那是我认为是因为视图状态。
    【解决方案2】:
    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多