ASP.NET Framework包含三个用于向服务器端提交表单的控件:Button、LinkButton和ImageButton。这三个控件拥有同样的功能,但每种控件的外观界面不同。
本文就带着大家学习如何在页面中使用这三种控件。然后,学习如何关联客户端脚本和服务器端Button控件,以及如何使用Button控件把一个表单传到不是当前页的页面。最后,学习如何处理Button控件的Command事件。
一、使用Button控件
Button控件用来向服务器端提交表单的按钮。例如,代码清单1中的页面包含一个Button控件。点击这个Button控件,则更新由Label控件显示的时间(见图1)。
代码清单1 ShowButton.aspx
复制代码 代码如下:
<form runat="server">
<div>
<asp:Button Text="Submit" Runat="server" /> <br /><br />
<asp:Label Runat="server" />
</div>
</form>
图1 显示Button控件
Button控件支持下列属性(不完全列表):
·AccessKey——指定一个导向Button控件的键。
·CommandArgument——用于指定传给Command事件的命令参数。
·CommandName——指定传给Command事件的命令名。
·Enable——用于禁用该Button控件。
·OnClientClick——指定点击按钮时执行的客户端脚本。
·PostBackUrl——用于设置将表单传给某个页面。
·TabIndex——设置Button控件的Tab顺序。
·Text——用于标注Button控件。
·UseSubmitBehavior——用于使用JavaScript回传表单。
Button控件支持下面的方法:
·Focus()——用于把初始表单焦点设为该Button控件。
Button控件还支持下面两个事件:
·Click——点击Button控件时引发。
·Command——点击Button控件时引发。CommandName和CommandArgument传给这个事件。
二、使用LinkButton控件
LinkButton控件象Button控件一样,用于把表单回传给服务器端。但是,不像Button控件生成一个按钮,LinkButton控件生成一个链接。
代码清单2包含了一个简单的表单。这个表单包含一个LinkButton控件,用于向服务器端提交表单并显示表单字段的内容(见图2)。
代码清单2 ShowLinkButton.aspx
复制代码 代码如下:
<form runat="server">
<div>
<asp:Label Text="First Name:" AssociatedControlID="txtFirstName" Runat="server" /> <br />
<asp:TextBox Runat="server" /><br /><br />
<asp:Label Text="Last Name:" AssociatedControlID="txtLastName" Runat="server" /><br />
<asp:TextBox Runat="server" /><br /><br />
<asp:LinkButton Text="Submit" Runat="server" /><br /><br />
<asp:Label Runat="server" />
</div>
</form>
图2 显示LinkButton控件
在后台,LinkButton控件使用JavaScript把表单传回服务器端。LinkButton控件生成这样的超链接:
复制代码 代码如下:
<a href="javascript:__doPostBack('lnkSubmit','')">Submit</a>
点击LinkButton调用把表单传回服务器端的JavaScript _doPostBack()方法。当提交表单时,所有表单字段的值也被传回给服务器端。
LinkButton控件支持下列属性(不完全列表):
·AccessKey——指定一个导向LinkButton控件的键。
·CommandArgument——用于指定传给Command事件的命令参数。
·CommandName——指定传给Command事件的命令名。
·Enable——用于禁用该LinkButton。
·OnClientClick——指定点击LinkButton时执行的客户端脚本。
·PostBackUrl——用于设置将表单传给某个页面。
·TabIndex——设置LinkButton控件的Tab顺序。
·Text——用于标注LinkButton控件。
Button控件支持下面的方法:
·Focus()——用于把初始表单焦点设为该LinkButton控件。
Button控件还支持下面两个事件:
·Click——点击LinkButton控件时引发。
·Command——点击LinkButton控件时引发。CommandName和CommandArgument传给这个事件。
三、使用ImageButton控件
ImageButton控件类似Button和LinkButton控件,用于把表单传回服务器端。只是ImageButton控件总是显示图片。
代码清单3 中的页面包含一个ImageButton控件,它把一个简单的表单传回服务器端(见图3)。
代码清单3 ShowImageButton.aspx
复制代码 代码如下: