asp.net一个onclick的全过程(简单写一下)

1.ie页面初始化的时候把每个控件初始化位置(热区)
2.点击鼠标
3.如果点击时鼠标位置在IE的button位置 那么IE认为这个button被点击(调系统API了)
4.触发客户端onclick事件(调用js中系统生成的__doPostBack方法)并记录点击信息到viewstate等
5.submit到服务器

...........................http协议,IIS服务器,映射,runtime,framework............

6.如果请求是aspx(ascx,ashx等)http请求(hander)实例成page类,注册的控件实例成相应的服务器对象(button对象)

http请求在服务器是被.net框架解析成相应的类的对象,在服务器的操作实际上是对象间的操作,所以前台html页和page类没有任何直接关系,所谓的code-behind只不过是.net框架模拟出来的效果
7.request.form得到值(在ViewState里,ViewState放hiden里了),判断button是否被点击
8.如果被点击 执行button.click()方法(这个方法应该是被封装了)
9.button.click()方法里面定义委托
10.然后委托给页面方法去做
11.ok!这就是一个完整的请求

其它控件事件应该和这个类似,可能有不对的地方,请指出

还有,其中点击发生的源头只有一个那就是客户端的人点了一下鼠标

 

asp.net中控件的生命周期以控件的事件原理!对于标准的Form控件要实现IPostBackDataHandler和IPostBackEventHandler.这两个都是在PostBack才会引发的动作。当我们第一次请求页面的时候是不会做这两个动作的。但是当我们在页面上执行Button的时候,就会Submit   Form.(asp.net中Web   Button默认为Submit)。这个时候在服务器端通过Request.Form就会知道客户端的哪一个Button提交的,如果该Button有事件的话就会执行事件!

 

这里只不过是简单的说一下过程,详细情况请各位朋友看完整的aps.net生命周期  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值