2011-07-18 51 views
1

我正在閱讀了解viewstate如何在asp.net webforms中工作,並已閱讀this文章。asp.net加載回傳數據並引發回傳事件視圖狀態交互

我不太明白的一個部分是第5階段 - 提升回發事件,它說這個階段沒有使用任何視圖狀態信息來引發事件(即TextChanged)。

我認爲視圖狀態將在回發頁面上發回,並且在控件樹被填充之後,視圖狀態的值將被加載,之後控件將詢問新的表單值比較他們反對從視圖狀態加載的當前狀態,以便告訴它需要提升哪些Changed()事件。

如果此事件不與viewstate交互,它如何判斷值是否已更改,或者它是否與先前的加載相同?

+0

我正在讀書,感到困惑! – appenthused

回答

0

在框TextChanged事件的情況下,它看起來在視圖狀態,以確定它是否得到提高或不 - 看到答案question 6215046


http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.ontextchanged.aspx

一個文本框控件必須在這個事件的服務器的帖子之間保留一些值才能正常工作。確保爲此控件啓用了視圖狀態。

嘗試啓用的ViewState爲文本框。

+0

ahh ok所以看起來文章不正確,至少在textchanged events案例中 –

1

丹尼爾,你在你的假設中是正確的 - 視圖狀態用於確定是否需要提升與變化相關的事件。其中包括TextBox上的TextChanged事件和DropDownList中的SelectedIndexChanged事件等。

如果你還沒有讀過這篇文章,我強烈推薦它:Truly Understanding View State。這是一個由Dave Reed寫的信息。

謝謝!

+0

感謝您的快速回復! –