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传给这个事件。