您好我有一個關於按鈕在asp.net中單擊的疑問,我已經在.aspx頁面中使用OnClick事件和其他一些控件(按鈕,文本框)來放置按鈕控件。當我運行頁面時,按鈕顯示在瀏覽器的頁面源代碼中,就像這裏一樣,它不顯示onclick事件,然後頁面如何調用服務器端的按鈕單擊,服務器端如何識別哪個按鈕導致提交,以及這個頁面如何移動到服務器端。服務器端如何識別按鈕單擊事件
回答
如果它是關於<asp:Button />
,則此控件默認呈現輸入type =「submit」,它使用瀏覽器的默認機制提交表單。 ASP .Net通過檢查發佈的值來確定哪個按鈕被點擊。當瀏覽器提交表單時,它會在POST請求中寫入所點擊的按鈕的名稱和值以及其他輸入的名稱和值(不包括其他提交輸入)。因此,單個提交輸入的名稱被髮送到服務器,並以這種方式ASP.Net檢查哪個按鈕被點擊。
此服務器控制也具有屬性UseSubmitBehavior並且如果它被設置爲假,將生成式按鈕的輸入。由於按鈕不提交表單,ASP淨生成一些JavaScript將做的工作
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
通知_ EVENTTARGET和 _EVENTARGUMENT領域。這些字段被設置爲ASP.Net將知道客戶端上點擊了哪個按鈕。
<input type="button"
name="rptMain$ctl02$DeleteButton"
value="Delete" onclick="__doPostBack('rptMain$ctl02$DeleteButton','')"
id="rptMain_ctl02_DeleteButton" />
注意傳遞給__doPostBack函數的參數。輸入的名稱被傳遞並設置爲EVENTTARGET。 EVENTTARGET的值將通過ASP.Net讀取,並基於此將觸發<asp:Button />
控件的點擊事件
EVENTARGUMENT由ItemCommand事件使用,通常放置在DataBound控件中幷包含有關該操作的特定數據,稍後在處理事件時使用。該數據可以是例如數據庫表中的行的ID。
This答案是什麼讓我回到堆棧溢出。詳細,詳細和信息。我學到了一些新東西。 +1。 – 2012-04-07 16:49:50
嗨,謝謝你的回覆,如果useubmitbehaviour設置爲true,將調用按鈕控件的事件 – Karthick 2012-04-09 17:52:41
它會生成一個類型爲submit的輸入(這是默認行爲) – 2012-04-10 07:44:44
在ASP.NET web窗體中,所有按鈕都會將整個表單提交給服務器。 Web表單引擎檢查按鈕被點擊並調用適當的事件處理程序。
如果您指定控件的onclick屬性,則它不會像這樣傳遞給客戶端。相反,它只是規定了IIS接線時解析aspx文件
替代看起來是這樣的:
myControl.Click += new EventHandler(specifiedMethod);
因此,當事件發生時,它知道該調用哪個方法。
- 1. 服務器端的按鈕單擊事件未被觸發
- 2. 調用客戶端按鈕單擊從服務器事件(asp.net)
- 3. 如何使用c#按鈕單擊事件斷開客戶端與服務器?
- 4. 爲按鈕單擊識別
- 5. MetroUI buttoon服務器端單擊事件
- 6. 如何觸發客戶端和服務器端按鈕的點擊事件?
- 7. 禁用按鈕不會觸發點擊服務器端事件
- 8. 服務器端按鈕點擊事件沒有內部UpdatePanel
- 9. 如何識別自定義單元上的按鈕單擊事件?
- 10. 我如何識別self.editButtonItem按鈕的點擊事件?
- 11. 如何先調用客戶端腳本函數,然後調用服務器端按鈕單擊事件?
- 12. 如何從一個按鈕服務器下載文件單擊
- 13. 驗證單選按鈕服務器端
- 14. 在點擊事件中識別發件人按鈕控件
- 15. 如何關閉radwindow管理器窗體服務器端按鈕單擊
- 16. 識別按鈕點擊
- 17. jQuery服務器端按鈕
- 18. 如何連接服務器端編程(c#)html按鈕點擊
- 19. 如何顯示從服務器端彈出div按鈕點擊
- 20. 如何識別音量按鈕是否按下了服務?
- 21. 從HTML按鈕控件調用服務器端事件
- 22. jquery按鈕單擊事件
- 23. asp.net按鈕單擊事件
- 24. UIWebView按鈕單擊事件
- 25. WPF按鈕單擊事件
- 26. 單擊事件按鈕
- 27. 按鈕單擊事件
- 28. WPF按鈕單擊事件
- 29. 如何跟蹤移動按鈕(未件按鈕)單擊事件
- 30. 按鈕點擊事件是否被點擊手勢識別器覆蓋?
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx ... http://stackoverflow.com/a/4635993/284240 – 2012-04-07 12:12:19