六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Asp.net中服務端控件事件是怎么觸發的

[摘要]Asp.net 中在客戶端觸發服務端事件分為兩種情況:一. WebControls中的Button 和HtmlControls中的Type為submit的HtmlInputButton這兩種...
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) {

         var theform = document.WebForm2;

         theform.__EVENTTARGET.value = eventTarget;

         theform.__EVENTARGUMENT.value = eventArgument;

         theform.submit();

  }

// -->

</script>

3.       每個會引發服務端事件的控件都會在響應的客戶端事件中調用上面的代碼:

比如,HtmlControls 中的 Type為button的HtmlInputButton的點擊事件

<!—客戶端的點擊事件調用__doPostBack,eventTarget 參數為'Button2',表示是name為'Button2’控件觸發的事件,eventArgument 為空,表示這個Type為button的HtmlInputButton只有一個客戶端觸發的服務端事件-->

<input language="javascript" onclick="__doPostBack('Button2','')" name="Button2" id="Button2" type="button"  value="Button" />



又比如,TextBox控件的Change事件

<!—客戶端的onchange事件調用__doPostBack,eventTarget 參數為’TextBox1’,表示是name為’TextBox1’控件觸發的事件,而TextBox控件只有一個客戶端觸發的服務端事件TextChanged,故服務器就會去觸發這個TextBox的TextChanged事件->

<input name="TextBox1" type="text" id="TextBox1" onchange="__doPostBack('TextBox1','')" language="javascript" />

4.       客戶端觸發事件后調用__doPostBack方法,將表示觸發的控件源的eventTarget 和事件參數eventArgument分別付給兩個隱藏域__EVENTTARGET和__EVENTARGUMENT,然后提交Form,在服務端根據__EVENTTARGET和__EVENTARGUMENT來判斷是哪個控件的什么事件觸發了。


主站蜘蛛池模板: 日韩欧美亚洲一区 | 在线视频中文字幕 | 亚欧乱色精品免费观看 | 天天操天天操天天 | 日韩国产一区二区 | 日韩伦乱| 人人澡人摸人人爽歪歪 | 亚洲a人片在线观看网址 | 天使萌一区二区三区免费观看 | 欧洲免费极品videos | 日韩精品福利视频一区二区三区 | 日本高清www色 | 日本精品一区二区 | 色综合天天综合网国产成人网 | 天天摸天天碰天天碰 | 三十极夜2免费视频 | 天天天天添天天拍天天谢 | 亚洲免费人成 | 中文精品久久久久国产不卡 | 青娱分类视频精品免费2 | 日韩欧美在线播放 | 四虎www成人影院观看 | 婷婷激情狠狠综合五月 | 欧美一区二区三区不卡免费 | 亚洲免费观看在线视频 | 在线视频你懂的国产福利 | 天天干妹子 | 欧美又粗又大又硬又长又爽视频 | 日本欧美中文字幕人在线 | 四虎影视www四虎免费 | 日韩第一页在线观看 | 日本精品在线播放 | 欧美亚洲一区二区三区在线 | 欧美午夜在线视频 | 午夜小影院 | 一本伊人 | 香蕉免费一区二区三区 | 四虎www成人影院免费观看 | 天使萌一区二区三区免费观看 | 亚洲六月丁香六月婷婷蜜芽 | 日韩中文字幕高清在线专区 |