-2

嗨,提交按钮单击事件信息是否存储在 _viewstate 属性中(在页面源中)。如果是,服务器如何识别从视图状态单击的按钮并执行相应的事件处理程序。

4

1 回答 1

0

对于按钮单击事件,它以两种方式发生。

一个。如果 javascript 可用且 UseSubmitBehavior 设置为 false,则它会使用按钮的唯一 id 填充 __EventTarget 隐藏字段。当页面正在处理回发时,它会在 Request.Forms 中查找此 __EventTarget,如果可用,则执行 FindControl 以将相应的值和类型强制转换为 IPostBackEventHandler 并调用 RaisePostBackEvent 方法。然后按钮类将触发 Click 事件。

湾。如果 Javascript 不可用且 UseSubmitBehavior 设置为 true,则浏览器将按钮的唯一 ID 作为表单变量发送到服务器。如果 Page 找到 UniqueId 作为 Request.Forms 中的键,那么它将再次使用 FindControl 方法找到控件并转换为 IPostBackEventHandler 并调用 RaisePostBackEvent 方法。然后按钮类将触发 Click 事件。

于 2012-04-10T07:04:49.307 回答