2011-07-18 29 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

感谢您的快速回复! –