asp.net加载回发数据并引发回发事件viewstate交互

时间:2011-07-18 13:04:22

标签: asp.net postback viewstate

我正在阅读以更好地了解viewstate如何在asp.net webforms中工作,并且一直在阅读this文章。

我不太了解的一个部分是第5阶段 - 提升回发事件,它表示此阶段不会使用任何视图状态信息来引发事件(即TextChanged)。

我认为视图状态将与回发页面一起发回,并且在填充控制树之后,将加载来自视图状态的值,然后控件将询问新的表单值,比较它们针对从视图状态加载的当前状态,以告知它需要引发哪些Changed()事件。

如果此事件未与viewstate交互,它如何判断某个值是否已更改,或者它是否仍然与之前的加载相同?

2 个答案:

答案 0 :(得分:1)

丹尼尔,你的假设是正确的 - 视图状态用于确定是否需要引发与变更相关的事件。其中包括TextBox上的TextChanged事件和DropDownList上的SelectedIndexChanged事件等。

如果您尚未阅读此文章,我强烈推荐它:Truly Understanding View State。这是Dave Reed提供的信息性内容。

谢谢!

答案 1 :(得分:0)

对于TextChanged事件,它会查看视图状态以确定它是否被引发 - 请参阅question 6215046的答案:


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

  
    

对于此事件,TextBox控件必须在发布到服务器的帖子之间保留一些值>>工作正常。确保为此控件启用了视图状态。

  

尝试为TextBox启用ViewState。