2011-09-05 62 views
0

我工作了很長時間的Windows應用程序使用.NET。最近2年,我正在與asp.net合作。我們經常使用asp.net按鈕控件。當我們點擊按鈕,然後回發發生和正確的服務器端事件由asp.net引擎調用。我如何鏈接&圖像按鈕導致回發時,用戶點擊這些按鈕。ASP.Net回發和按鈕內部

當我們與鏈接&圖像按鈕,然後__doPostback js函數被調用,並導致表單提交到服務器和請求相同的頁面和asp.net引擎檢測哪個控件導致從隱藏的輸入控件回發稱爲eventTarget和調用該控件的右側事件處理程序。

,但我不知道我們什麼時候與asp.net按鈕控制工作就像

<asp:Button ID="SampleButton" runat="server" 
     Text="Submit" 
     OnClick="ButtonClick" /> 

當我們點擊按鈕,然後還形成提交而是如何。我知道在這種情況下,__doPostback不會調用,因爲對於按鈕__doPostback從不在頁面中呈現。所以在這種情況下表單提交,但如何asp.net引擎檢測哪個按鈕導致回發和調用正確的事件處理程序?

當發生回發時,我們如何從txt1.text等文本框中獲取數據。它是從視圖狀態提取....我是對的。

請回答我的2個問題。試着在這裏解釋,而不是給任何網址......謝謝。

回答

0

asp:button默認工作方式不同。它輸出一個標準的HTML Submit按鈕,該按鈕可以回到form指定的Action URL。因此它不像其他控件一樣使用事件。

但是,如果您添加一個OnCommand並將CommandName/CommandArgs分配給控件,它將導致與其他控件相同的基於事件的回調行爲。 OnClick也是如此。我認爲這與其他控件使用相同的過程,但實際上不同。

它看起來像它使用__VIEWSTATE__EVENTVALIDATION來確定哪個表單回發,並且提交按鈕id的名稱作爲標準HTML表單行爲的一部分發布在表單中。這是用來觸發服務器端事件的。

+0

我試圖知道,當我們點擊按鈕,然後像的button1_Click服務器端事件是如何調用...我知道表單提交...但我需要知道的技巧,如何事件處理程序的權利被調用? – Thomas

+0

您解釋了按鈕事件如何在問題中起作用。所以我可能會錯過理解。 – TheCodeKing

+0

如果你知道如何處理asp.net按鈕的事件處理程序時使用點擊按鈕然後plzz解釋...謝謝 – Thomas

1

這很簡單,就如何控制回發。他們以與純html解決方案相同的方式進行操作。頁面上有一個Form標籤。當按下按鈕時,它會導致表單向服務器提交回傳。

注意窗體標籤的動作目標,它指向我的aspx頁面 這些都是由aspx頁面本身生成的。

<form name="form1" method="post" action="Default.aspx" id="form1"> 
    <div> 
     <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjA0OTM4MTAwNGRk5H5eaMNZp5tsD/GQ2iYj2p8J0as=" /> 
    </div> 

    <div> 
      <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgKmxpCiBgKSotaIC5iWtiHNi+oxYiuBULPgr5d0/WFu" />   
    </div> 
    <div> 
     <input type="submit" name="btn1" value="click me" id="btn1" /> 
    </div> 
</form> 
+0

我是想知道,當我們在按鈕點擊喜歡的button1_Click服務器端事件則是如何調用...我知道表單提交...但我需要知道的技巧,如何事件處理程序的權利被調用? – Thomas