我想弄清楚这里有什么问题..当我在我的updatepanel中禁用Viewstate for usercontrol时,它只是不更新内容。
这是我的代码:
如果我设置了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
答案 0 :(得分:1)
当我在我的updatepanel中禁用Viewstate for usercontrol时,它 只是不更新内容。
由于您UpdatePanel
的{{1}}是“有条件的”,因此您需要手动Update
。
例如,您希望显示/隐藏它的事件处理程序中的某个位置:
UpdateMode
如果您有必须执行的服务器代码,请调用Update方法 确定是否应更新UpdatePanel控件。如果你 计划使用Update方法,将UpdateMode属性设置为 有条件的。如果您想决定更新服务器中的面板 逻辑,确保ChildrenAsTriggers属性为false 没有为面板定义明确的触发器。
答案 1 :(得分: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/