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!这就是一个完整的请求
其它控件事件应该和这个类似,可能有不对的地方,请指出
还有,其中点击发生的源头只有一个那就是客户端的人点了一下鼠标
这里只不过是简单的说一下过程,详细情况请各位朋友看完整的aps.net生命周期
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
2007-07-24 参考多线程读写文件(转,未测试)