2011-07-25 102 views
4

我正在學習asp.net。我有關於示例按鈕的問題asp:按鈕和html按鈕的區別

我可以使用兩種類型的按鈕。

<input id="Button1" type="button" value="button" /> 

<asp:Button ID="Button3" runat="server" Text="Button" /> 

什麼是兩者之間的主要區別?

+6

一個是服務器控制另一個客戶端控件。 – leppie

+0

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.aspx –

回答

2

一個是服務器控件(asp按鈕),當在頁面上呈現時,它包含處理回發邏輯的JavaScript,並且可以通過其ID來暴露給代碼隱藏作爲控件。 Html控件是平臺不可知的,並且由您的瀏覽器呈現爲一個按鈕。該按鈕將引發點擊事件,但不會發布您的表單。

+0

但是當我想寫功能點擊html按鈕我必須寫在javaScript中,是嗎? – nirmus

+0

@nirmus - 在asp控件的情況下,你可以把它作爲後端的asp.net代碼,或者在按鈕聲明中加入一個「OnClientClick」處理程序來寫成前端代碼。在任何一種情況下(asp或html),你都可以通過內聯(拇指向下)或者使用jQuery(豎起大拇指)連接一個「OnClick」處理程序。 – davecoulter

1

每次點擊都會使服務器往返,這不應該每次都發生。 HTML按鈕要輕得多,應該用來製作客戶端 - 邏輯如客戶端驗證,運行客戶端腳本等......
ASP按鈕會在每次點擊時發出一個POST,html按鈕不會。

+0

但是當我想寫功能點擊html按鈕我必須寫在javaScript中,是嗎? – nirmus

+0

如果你的onClick函數是複雜的,你應該。如果它只顯示一些鏈接,你可以只用html來完成。當然,如果你想這樣做,你可以將一個點擊事件與一些php腳本文件聯繫起來。 –