![](/img/trans.png)
[英]ASP.NET 3.5: How to keep child controls from beind disabled when parent control is disabled?
[英]How do I enable ViewState for child custom controls when disabled in parent?
我正在嘗試創建一個自定義控件,即“gridview”,如控件,但特別是對於實現某些自定義接口的業務對象。
在這樣做時,我遇到了以下問題。
我有一個控件,我已禁用viewstate(我不想重新啟用它),它有一個我想要啟用viewstate的子控件。 因為父母被禁用,我似乎無法讓子控件上的視圖狀態工作。 有沒有人有任何想法如何讓它工作?
您無法在另一個禁用了viewstate的控件中的控件上啟用viewstate。
您唯一的選擇是為外部控件啟用它,然后為其中的所有控件關閉它,除了您需要viewstate的控件。
任何容器上的EnableViewState屬性都將覆蓋該容器內所有控件的行為。
祝好運!
編輯:你可能想要查看你的CreateChildContols()方法,並使用EnableViewState屬性枚舉控件從那里為自定義控件中的每個控件禁用viewstate。
顯然,使用Asp.Net 4.0可以實現這一點
如果您樂意手動將數據放入ViewState(而不是讓ASP.NET保留您的控件狀態),您可以將項直接放入頁面的ViewState,而不是控件的ViewState。
即不是說:
this.ViewState["someKey"] = someValue;
說:
this.Page.ViewState["someKey"] = someValue;
但請注意 - 如果您在頁面上有多個控件實例,則必須確保它們使用不同的鍵!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.