国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
asp.net中服務(wù)端控件事件是如何觸發(fā)的?
Asp.net 中在客戶端觸發(fā)服務(wù)端事件分為兩種情況:

一. WebControls中的Button 和HtmlControls中的Type為submit的HtmlInputButton

這兩種按鈕最終到客戶端的表現(xiàn)形式為: < input name="Submit1" id="Submit1" type="submit" value=”Submit”>,這是Form表單的提交按鈕,點(diǎn)擊以后會(huì)作為參數(shù)發(fā)送到服務(wù)端,參數(shù)是這樣的: 控件的name屬性=控件的value值,對(duì)應(yīng)上面的例子就是:Submit1= Submit。 服務(wù)端會(huì)根據(jù)接收到的控件的name屬性的這個(gè)key來得知是這個(gè)按鈕被點(diǎn)擊了,從而在服務(wù)端觸發(fā)這個(gè)按鈕的點(diǎn)擊事件。

二. HtmlControls 中的 Type為button的HtmlInputButton 和其它所有的控件事件,比如LinkButton點(diǎn)擊,TextBox的Change事件等等:

這些事件在客戶端產(chǎn)生后會(huì)經(jīng)過一個(gè)統(tǒng)一的機(jī)制發(fā)送到服務(wù)端。

1. 首先asp.net頁框架會(huì)使用兩個(gè)Hidden域來存放表示是哪個(gè)控件觸發(fā)的事件,以及事件的參數(shù):

< !—表示觸發(fā)事件的控件,一般是這個(gè)控件的name -->

< input type="hidden" name="__EVENTTARGET" value="" />

< !—表示觸發(fā)事件的參數(shù),一般是當(dāng)某個(gè)控件有兩個(gè)以上的事件時(shí),用來區(qū)別是哪個(gè)事件 -->

< input type="hidden" name="__EVENTARGUMENT" value="" />

2. 服務(wù)端會(huì)生成一個(gè)jscript的方法來處理所有這些事件的發(fā)送,這段代碼是:

      < script language="javascript">
  < !--

  function __doPostBack(eventTarget, eventArgument) {

  var theform = document.WebForm2;

  theform.__EVENTTARGET.value = eventTarget;

  theform.__EVENTARGUMENT.value = eventArgument;

  theform.submit();

  }

  // -->

  < /script>


3. 每個(gè)會(huì)引發(fā)服務(wù)端事件的控件都會(huì)在響應(yīng)的客戶端事件中調(diào)用上面的代碼: 



比如,HtmlControls 中的 Type為button的HtmlInputButton的點(diǎn)擊事件

< !—客戶端的點(diǎn)擊事件調(diào)用__doPostBack,eventTarget 參數(shù)為'Button2',表示是name為'Button2’控件觸發(fā)的事件,eventArgument 為空,表示這個(gè)Type為button的HtmlInputButton只有一個(gè)客戶端觸發(fā)的服務(wù)端事件-->

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

又比如,TextBox控件的Change事件

< !—客戶端的onchange事件調(diào)用__doPostBack,eventTarget 參數(shù)為’TextBox1’,表示是name為’TextBox1’控件觸發(fā)的事件,而TextBox控件只有一個(gè)客戶端觸發(fā)的服務(wù)端事件TextChanged,故服務(wù)器就會(huì)去觸發(fā)這個(gè)TextBox的TextChanged事件->

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

4. 客戶端觸發(fā)事件后調(diào)用__doPostBack方法,將表示觸發(fā)的控件源的eventTarget 和事件參數(shù)eventArgument分別付給兩個(gè)隱藏域__EVENTTARGET和__EVENTARGUMENT,然后提交Form,在服務(wù)端根據(jù)__EVENTTARGET和__EVENTARGUMENT來判斷是哪個(gè)控件的什么事件觸發(fā)了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
在ASP.NET中,使用javascript實(shí)現(xiàn)button點(diǎn)擊
ASP.NET Web Form 的“連續(xù)”和“有狀態(tài)”假象 - kwklover的專欄 ...
深入了解__doPostBack
服務(wù)端控件通過js調(diào)用服務(wù)端事件
當(dāng)爬蟲遇到JavaScript
asp.net中為TextBox Web服務(wù)器控件添加OnClick事件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服