ASP.NET/Button、LinkButton和ImageButton

維基教科書,自由的教學讀本

ASP.NET Framework包含三個用於向服務器端提交表單的控件:Button、LinkButton和ImageButton。這三個控件擁有同樣的功能,但每種控件的外觀界面不同。Button控件生成一個按鈕,LinkButton控件生成一個鏈接。LinkButton控件實際上生成一個超鏈接,用href="javascript:__doPostBack('buttonName',)"把表單傳回服務器端。ImageButton控件總是顯示圖片。

Form控件或Panel控件的DefaultButton屬性來指定表單的默認按鈕。指定一個默認按鈕,就可以按鍵盤上的回車鍵來調用這個按鈕。

<form id="form1" runat="server">
<div>
    <asp:Button id="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" OnClientClick="return confirm('Are you sure?');" Runat="server" /> <br /> 
    <asp:Label id="lblTime" Runat="server" /><br />
    <asp:LinkButton id="lnkSubmit" Text="Submit" OnClick="lnkSubmit_Click" Runat="server" /><br />
    <asp:Label id="lblResults" Runat="server" /><br />
    <asp:ImageButton id="btnSubmit" ImageUrl="Submit.gif" AlternateText="Submit Form" Runat="server" OnClick="btnSubmit_Click" /><br />
    <asp:Label id="lblResults" Runat="server" /><br />
</div>
</form>

Button控件支持下列屬性(不完全列表):

  • AccessKey——指定一個導向Button控件的鍵。
  • CommandArgument——用於指定傳給Command事件的命令參數。
  • CommandName——指定傳給Command事件的命令名。
  • Enable——用于禁用該Button控件。
  • OnClientClick——指定點擊按鈕時執行的客戶端腳本。客戶端點擊該按鈕時,執行JavaScript腳本。該腳本顯示一個確認對話框。如果確認對話框返回False,那麼取消按鈕點擊事件,包含該按鈕的表單也不會傳回服務器端。
  • PostBackUrl——用於設置將表單傳給某個頁面。在新頁面的Page_Load事件處理程序中,PreviousPage屬性用來得到前一個頁面的引用。再用FindControl()方法從前頁面中獲取指定控件的值。
  • TabIndex——設置Button控件的Tab順序。
  • Text——用於標註Button控件。
  • UseSubmitBehavior——用於使用JavaScript回傳表單。
  • 像大多數ASP.NET控件一樣,Button控件支持擴展屬性,只需簡單地為控件添加任意的屬性,就可以處理其他的客戶端事件。如 onmouseover="this.value='Click Here!'"

Button控件支持下面的方法:

  • Focus()——用於把初始表單焦點設為該Button控件。

Button控件還支持下面兩個事件:

  • Click——點擊Button控件時引發。 ImageButton控件的Click事件處理程序不同於其他兩個按鈕控件。傳遞給事件處理程序的第二個參數是ImageClickEventArgs類的實例。此類有下面兩個屬性:X——用戶點擊圖片時的X坐標。Y——用戶點擊圖片時的Y坐標。
  • Command——點擊Button控件時引發。CommandName和CommandArgument傳給這個事件。