加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET如何知道单击哪个Button以引发其事件

发布时间:2020-12-16 10:02:19 所属栏目:asp.Net 来源:网络整理
导读:当使用 LinkButton 时,doPostBack()函数在页面中呈现,当单击按钮时,在客户端调用doPostBack(),将表单提交给服务器,并在两个名为EVENTTARGET和EVENTARGUMENT的隐藏字段中发送信息. EVENTTARGET包含导致回发的控件名称,EVENTARGUMENT保存任何信息. 使用此ASP.N
当使用 LinkButton时,doPostBack()函数在页面中呈现,当单击按钮时,在客户端调用doPostBack(),将表单提交给服务器,并在两个名为EVENTTARGET和EVENTARGUMENT的隐藏字段中发送信息. EVENTTARGET包含导致回发的控件名称,EVENTARGUMENT保存任何信息.

使用此ASP.NET引擎从EVENTTARGET参数获取控件名称,该参数导致回发并调用RaisePostBackEvent()事件来调用右侧服务器端事件处理程序.我理解doPostBack()如何工作以及如何调用服务器端事件处理程序.

但是对于普通服务器按钮,如何在服务器端调用正确的按钮? ASP.NET如何通知单击客户端的控件名称?

解决方法

普通的ASP.NET Button呈现为HTML< input type =“submit”>具有唯一名称属性的元素.默认情况下,此HTML元素将触发与当前ASPX页面关联的 HTTP POST to the HTML form.

当HTTP POST发生时,一系列控制名称/当前值对(称为表单数据集)是从表单内部的successful controls构造的,例如文本框内的文本值就像这样传输.具有触发提交的按钮名称的一对也被发送到服务器,这就是ASP.NET知道哪个按钮触发HTTP POST的方式.

HTML规范保证只对表单中的成功控件考虑发布的表单数据集,并且因为成功控件的定义包含以下规则:

If a form contains more than one submit button,only the activated
submit button is successful.

然后,ASP.NET可以检查发布的表单数据集,以检查是否触发了任何正常按钮.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读