[英]How to clear Viewstate?
我有一个问题,其中两个以编程方式添加的控件正在尝试加载彼此的视图状态,我想在加载控件之前清除视图状态,我尝试了Viewstate.Clear但它没有做任何事情,当我在容器上禁用viewstate时我的控件一切正常,但控件的状态没有保留。 有没有办法清除只有特定控件的视图状态?
根据您的描述,在加载动态控件时,您似乎犯了一个常见的错误 - 要么加载它们太晚,要么您没有为它们分配唯一ID(并且每次发生回发时都会为它们分配相同的唯一ID) )。
如果这确实是您的问题,那么清除视图状态不是适当的操作。 修复起来非常简单,请检查以下三个链接:
http://msdn.microsoft.com/en-us/library/ms972976.aspx
http://www.4guysfromrolla.com/articles/092904-1.aspx
http://geekswithblogs.net/shahed/archive/2008/06/26/123391.aspx
是的,
string controlName = "name of control";
ViewState[controlName] = null;
// create control, add it to the page
假设两个控件都继承自System.Web.UI.Control 。 您可以通过将其EnableViewState设置为false来禁用其各自的ViewStates。 您也可以清除它们的ViewState,因为每个控件都有一个ViewState属性。
确保两个以编程方式添加的控件的ID不同,并且ViewState问题应该消失。
您可以在特定控件上禁用viewstate:
EnableViewState="False"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.