爲了加快我的網站,我試圖禁用viewstate,因爲我不認爲我在任何地方都使用它。我有一個用戶控件在default.aspx中加載(使用LoadControl)的母版頁設置。我典型的頁面設置將是:Viewstate Disabled - 下拉框不返回值
Main.master -> Default.aspx -> ControlWrapper.ascx -> MyControl.ascx
我已經把的EnableViewState = 「假」 在我的Default.aspx頁。現在,當我嘗試從DropDownList in MyControl.ascx
中讀取一個值時,它會在表單發佈時返回空白。首先,這是爲什麼?我以爲我應該仍然可以從下拉列表中讀取值?
然後我嘗試啓用該控件上的ViewState,它不起作用。
我也嘗試啓用Page_Init
事件MyControl.ascx
使用Page.EnableViewState = True;
視圖狀態,但這也沒有幫助。
我想我有些誤解了viewstate,請問有人能指點我嗎?
p.s我不知道這些信息是否相關,但我在Page_Load事件中動態添加DropDownList的內容。 (想想看,這可能是問題 - 現在就測試一下)。
謝謝。
好吧,我使用.NET 2.0(不好意思忘了OP的說),這是否讓任何點有什麼區別? – webnoob 2011-04-11 14:49:40
如果我沒有記錯,不應該有所作爲。 ASP.NET 4只是爲您提供了一些管理ViewState的選項。你還是會需要它開啓自己的網頁和控制,如果你希望能夠找回您的下拉列表中選擇的值。如果我是你,我會默認打開它,並在有意義的地方有選擇地關閉它。如果您有性能問題,還可以使用其他方法,例如將ViewState保存到數據庫。 – BrandonZeider 2011-04-11 15:06:43
如何將它保存到數據庫的工作?你可以爲此推薦任何文章嗎? – webnoob 2011-04-11 15:20:32