你的位置:首页 > ASP.net教程

[ASP.net教程]ASP.NET服务器端控件原理分析

服务器端控件触发事件分两种:

1.服务器端控件Button被渲染成客户端的

<input type="submit" name="Button1" value="Button" id="Button1" />

类型为type="submit"此类控件点击以后会通过form表单提交,点击以后会作为参数发送到服务端,参数是控件的name属性=控件的value值,服务器端会根据接收到的控件的name属性的这个值来得知是这个按钮被点击了,从而在服务端触发这个按钮的点击事件。

当我们在服务器端控件Button标签中加入name属性时,在前端渲染时服务器会将其去掉,这也证明了后台是通过name值来获取被点击的按钮名称的。

2.其他服务器端控件的后台事件触发

服务器会自动为服务器端控件的事件触发生成一个脚本:

 1 <script type="text/javascript"> 2 //<![CDATA[ 3 var theForm = document.forms['form1']; 4 if (!theForm) { 5   theForm = document.form1; 6 } 7 function __doPostBack(eventTarget, eventArgument) { 8   if (!theForm.onsubmit || (theForm.onsubmit() != false)) { 9     theForm.__EVENTTARGET.value = eventTarget;10     theForm.__EVENTARGUMENT.value = eventArgument;11     theForm.submit();12   }13 }14 //]]>15 </script>

然后在每个控件相应事件里加入js代码:
 <a id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">Click</a> 

以调用doPostBack向后台发送相应的触发信息,有两个参数,第一个是触发事件的控件名称,第二个是事件参数。

3.服务器会自动生成隐藏域 VIEWSTATE ,保存服务器控件的值,在页面回发时保存状态

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dfH5nMWjX1dNSXzn46Y8JnrW6phZm5uVAKtEN6WJ9+0QH5o2vTLSkKi844UXjfMNj5w9xjbw+CveDXrKw6PmUBnHUp85WYCvEi9n8IHtvZ8=" />

 


深圳去贵州旅游报价跟团去贵州旅游多少钱几月去贵州旅游最好去贵州的旅游团价格去贵州旅游必去景点龙潭大峡谷门票_龙潭大峡谷门票价格_龙潭大峡谷门票多少钱 北京圆明园门票价格_圆明园门票多少钱 龙潭大峡谷在哪_洛阳龙潭大峡谷在哪里_龙潭大峡谷在哪个省 白洋淀门票_白洋淀门票价格_白洋淀门票多少钱 国家新闻出版总署署长柳斌杰参观考察世园会 不可不尝的地道番薯丸 世园会接待游客55万人次_成为假期国内旅游新亮点 台北文化代表团一行8人前来西安世园会考察 上海大观园门票怎么网上预定?上海大观园官网门票多少钱? 潍坊到富华游乐园公交路线?潍坊车站到富华游乐园交通指南? 富华游乐园有吃饭的地方吗?潍坊富华游乐园森林餐厅怎么样? 潍坊火车站到富华游乐园打车多少钱?潍坊火车站到富华游乐园坐几路公交直达? 冬日之旅 在角落寻找最宁波的味道 江苏温泉地图 开启冬日温暖路线 成绵乐客专开通在即 绵阳准备好了 美食节将至 好吃嘴们准备好享受舌尖上的攀枝花 R6015ANX Datasheet R6015ANX Datasheet TK15A60U(Q) Datasheet TK15A60U(Q) Datasheet TK15D60U(Q) Datasheet TK15D60U(Q) Datasheet 浙江出发去德国旅游 浙江出发去德国旅游 浙江出发去德国旅游 浙江出发去迪拜旅游 浙江出发去迪拜旅游 浙江出发去迪拜旅游 浙江出发去迪沙鲁沙滩旅游 浙江出发去迪沙鲁沙滩旅游 浙江出发去迪沙鲁沙滩旅游