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傳給這個事件。