• λ我爱Aspx >> Asp.Net >> Asp.net 中服务端控件事件是如何触发的
  • Asp.net 中服务端控件事件是如何触发的

  • :未知  Դ:internet  :2007-5-20 16:43:56  ؼ:.net,asp.net,asp
  • Asp.net 中在客户端触发服务端事件分为两种情况:

    一. WebControls中的Button 和HtmlControls中的Type为submit的HtmlInputButton

    这两种按钮最终到客户端的表现形式为: <input name="Submit1" id="Submit1" type="submit" value=”Submit”>,这是Form表单的提交按钮,点击以后会作为参数发送到服务端,参数是这样的: 控件的name属性=控件的value值,对应上面的例子就是:Submit1= Submit。 服务端会根据接收到的控件的name属性的这个key来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。

    二. 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) {

    Ҷƪл˵?
  • һƪASP.NET 页面对象模型
    һƪtable的宽度,单元格内换行问题