2010-02-04 97 views
1

在ASP.NET中,設置viewstate和類似屬性的優先順序是什麼?這些可以在web.config,頁面級別和控件上設置。如果我在web.config(全局),頁面級別但在控制級別關閉它,例如,結果如何?不同級別的視圖狀態等設置的優先級

由於

回答

0

Page類是通過迭代和每個控件的SaveViewState()方法被調用。因此,如果Page類的EnableViewState設置爲false,那麼此迭代不會發生,並且您的控件也將禁用其視圖狀態。這意味着如果您希望控件啓用其視圖狀態,則頁面必須將其EnableViewState設置爲true。

如果您想要關閉頁面上大多數控件的視圖狀態,那麼您必須找到某種解決方法。例如,您可以創建一個迭代的小類,通過您的控件啓動並關閉指定控件的視圖狀態。或者,您可以使用某種容器,並禁用該容器的視圖狀態,以便其所有的chiled控件也被禁用。任何你想允許viewstate的控件都可以放在容器外面。這兩種方法仍然需要Page的EnableViewState爲true。