国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Asp.net中服務端控件事件是如何觸發的

2024-07-10 13:03:56
字體:
來源:轉載
供稿:網友

    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" 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來判斷是哪個控件的什么事件觸發了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禹城市| 仪征市| 九江市| 平顺县| 东乌珠穆沁旗| 武夷山市| 北票市| 孙吴县| 教育| 杭州市| 上犹县| 宾阳县| 崇州市| 偃师市| 滕州市| 稷山县| 永州市| 延安市| 扶余县| 威信县| 张家界市| 固阳县| 唐海县| 象山县| 敖汉旗| 涿州市| 马公市| 宜兰县| 西乡县| 汉寿县| 宣化县| 麻江县| 苍梧县| 万盛区| 曲靖市| 宁德市| 城口县| 广东省| 宜城市| 石泉县| 仪陇县|