第一Asp.net 中在客户端触发服务端事件分为两种情况:
A WebControls 中的 Button 和 HtmlControls 中的 Type 为 submit 的 HtmlInputButton
这两种按钮最终到客户端的表现形式为: <input name="Submit1" id="Submit1" type="submit" value=”Submit”>,这是 Form 表单的提交按钮,点击以后会作为参数发送到服务端,参数是这样的: 控件的 name 属性=控件的 value 值,对应上面的例子就是:Submit1= Submit。 服务端会根据接收到的控件的 name 属性的这个 key 来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。
B. HtmlControls 中的 Type 为 button 的 HtmlInputButton 和其它所有的控件事件,比如 LinkButton 点击,TextBox 的 Change 事件等等:
这些事件在客户端产生后会经过一个统一的机制发送到服务端。
1. 首先 asp.net 页框架会使用两个 Hidden 域来存放表示是哪个控件触发的事件,以及事件的参数:
<!―表示触发事件的控件,一般是这个控件的 name -->
<input type="hidden" name="__EVENTTARGET" value="" />
<!―表示触发事件的参数,一般是当某个控件有两个以上的事件时,用来区别是哪个事件 -->
<input type="hidden" name="__EVENTARGUMENT" value="" />
2. 服务端会生成一个 jscript 的方法来处理所有这些事件的发送,这段代码是:
<script language="javascript">
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform = document.We
Asp.net 中服务端控件事件是如何触发的
本文详细介绍了Asp.net中服务端控件事件的触发机制,包括WebControls中的Button和HtmlControls中的submit类型HtmlInputButton,以及HtmlControls中button类型的HtmlInputButton和其他控件事件。讲解了如何通过__doPostBack函数处理客户端事件,以及PostBack的工作原理,特别是Button和ImageButton的特殊处理方式。
摘要由CSDN通过智能技术生成