日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET服务器端控件原理分析

發(fā)布時間:2025/6/15 asp.net 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET服务器端控件原理分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
服務(wù)器端控件觸發(fā)事件分兩種:  1.服務(wù)器端控件Button被渲染成客戶端的 <input type="submit" name="Button1" value="Button" id="Button1" /> 類型為type="submit"此類控件點擊以后會通過form表單提交,點擊以后會作為參數(shù)發(fā)送到服務(wù)端,參數(shù)是控件的name屬性=控件的value值,服務(wù)器端會根據(jù)接收到的控件的name屬性的這個值來得知是這個按鈕被點擊了,從而在服務(wù)端觸發(fā)這個按鈕的點擊事件。 當(dāng)我們在服務(wù)器端控件Button標(biāo)簽中加入name屬性時,在前端渲染時服務(wù)器會將其去掉,這也證明了后臺是通過name值來獲取被點擊的按鈕名稱的。  2.其他服務(wù)器端控件的后臺事件觸發(fā) 服務(wù)器會自動為服務(wù)器端控件的事件觸發(fā)生成一個腳本:
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>
然后在每個控件相應(yīng)事件里加入js代碼: <a id="LinkButton1" href="javascript:__doPostBack(&#39;LinkButton1&#39;,&#39;&#39;)">Click</a> 以調(diào)用doPostBack向后臺發(fā)送相應(yīng)的觸發(fā)信息,有兩個參數(shù),第一個是觸發(fā)事件的控件名稱,第二個是事件參數(shù)。  3.服務(wù)器會自動生成隱藏域 VIEWSTATE ,保存服務(wù)器控件的值,在頁面回發(fā)時保存狀態(tài) <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dfH5nMWjX1dNSXzn46Y8JnrW6phZm5uVAKtEN6WJ9+0QH5o2vTLSkKi844UXjfMNj5w9xjbw+CveDXrKw6PmUBnHUp85WYCvEi9n8IHtvZ8=" />

總結(jié)

以上是生活随笔為你收集整理的ASP.NET服务器端控件原理分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。