Asp.net 中服务端控件事件是如何触发的

本文详细介绍了Asp.net中服务端控件事件的触发机制,包括WebControls中的Button和HtmlControls中的submit类型HtmlInputButton,以及HtmlControls中button类型的HtmlInputButton和其他控件事件。讲解了如何通过__doPostBack函数处理客户端事件,以及PostBack的工作原理,特别是Button和ImageButton的特殊处理方式。
摘要由CSDN通过智能技术生成

第一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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a3676212

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值