簡體   English   中英

如何清除Viewstate?

[英]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

如果ViewState妨礙了您並且您還沒有這樣做,請閱讀

真正了解ViewSate

它將使您在使用ViewState和整個ASP.NET頁面生命周期時更加舒適。

假設兩個控件都繼承自System.Web.UI.Control 您可以通過將其EnableViewState設置為false來禁用其各自的ViewStates。 您也可以清除它們的ViewState,因為每個控件都有一個ViewState屬性。

確保兩個以編程方式添加的控件的ID不同,並且ViewState問題應該消失。

您可以在特定控件上禁用viewstate:

EnableViewState="False"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM