国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

怎么觸發(fā)Asp.net中服務(wù)端控件事件

來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-05-02 09:38:21

 Asp.net 中在客戶端觸發(fā)服務(wù)端事件分為兩種情況:

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

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

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

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

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

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

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

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

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

2. 服務(wù)端會生成一個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. 每個會引發(fā)服務(wù)端事件的控件都會在響應(yīng)的客戶端事件中調(diào)用上面的代碼: 

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

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

上一篇:DataReader還是DataSet哪個好?
下一篇:分享ASP.NET開發(fā)Web服務(wù)的五則技巧

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長沙市天心區(qū)團結(jié)路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!