【问题标题】:asp.net load postback data and raise postback event viewstate interactionasp.net 加载回发数据并引发回发事件视图状态交互
【发布时间】:2011-07-18 13:04:21
【问题描述】:

我正在阅读以更好地了解 viewstate 在 asp.net 网络表单中的工作原理,并且一直在阅读 this 文章。

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

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

如果此事件不与视图状态交互,它如何判断一个值是否已更改,或者它是否与上次加载时保持相同?

【问题讨论】:

  • 我正在阅读并感到困惑!

标签: asp.net postback viewstate


【解决方案1】:

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

如果你还没有读过这篇文章,我强烈推荐它:Truly Understanding View State。这是Dave Reed 撰写的内容丰富的文章。

谢谢!

【讨论】:

    【解决方案2】:

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


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

    TextBox 控件必须在发送到服务器之间保留一些值,才能使此事件>> 正常工作。确保为此控件启用了视图状态。

    尝试为 TextBox 启用 ViewState。

    【讨论】:

    • 啊,好吧,看来这篇文章是不正确的,至少在 textchanged events 的情况下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多