簡體   English   中英

在父級中禁用時,如何為子自定義控件啟用ViewState?

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

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