<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:ImageButton ImageUrl="Submit.gif" AlternateText="Submit Form" Runat="server" /><br /><br />
<asp:Label Runat="server" />
</div>
</form>
图3显示ImageButton控件
代码清单3中的ImageButton控件包含ImageUrl属性和AlternateText属性。ImageUrl属性包含ImageButton控件显示的图片的路径。AlternateText属性用于在只显示文本的浏览器中提供图片的替代文本。
注解:辅助功能标准要求每一幅图片都包含替代文本。此外,要记住有些用户会关闭浏览器的图片功能,以获得更快的网上冲浪体验。
注意,ImageButton控件的Click事件处理程序不同于其他两个按钮控件。传递给事件处理程序的第二个参数是ImageClickEventArgs类的实例。此类有下面两个属性:
X——用户点击图片时的X坐标。
Y——用户点击图片时的Y坐标。
可以使用ImageButton控件创建简单的图像映射。代码清单4中的页面包含一个显示一个靶子图片的ImageButton控件。点击靶子的中央,就会显示一个成功信息(见图4)。
代码清单4 ImageButtonTarget.aspx
复制代码 代码如下:
<form runat="server">
<div>
<asp:ImageButton ImageUrl="Target.gif" Runat="server" /><br /><br />
<asp:Label Runat="server" />
</div>
</form>
注解:ImageButton可以用来创建服务器端的图像映射。残障人士不能使用服务器端的图像映射。创建ImageMap最好的方法是使用用于创建客户端的图像映射的ImageMap控件。本章下一节将讨论ImageMap控件。
图4通过ImageButton检索X坐标和Y坐标
ImageButton控件支持下列属性(不完全列表):
·AccessKey——指定一个导向ImageButton控件的键。
·AlternateText——为图片提供替代文本(辅助功能要求)。
·DescriptionUrl——用于提供指向包含该图片详细描述的页面的链接(复杂的图片要求可访问)。
·CommandArgument——用于指定传给Command事件的命令参数。
·CommandName——指定传给Command事件的命令名。
·Enable——用于禁用该ImageButton。
·GenerateEmptyAlternateText——为AlternateText属性设空字符串值。
·ImageAlign——用于将图像和页面中其他HTML元素对齐。可能的值有AbsBottom、AbsMiddle、Baseline、Bottom、Left、Middle、NotSet、Right、TextTop和Top。
·ImageUrl——用于指定图片的URL。
·OnClientClick——指定点击ImageButton时执行的客户端脚本。
·PostBackUrl——用于设置将表单传给某个页面。
·TabIndex——设置ImageButton控件的Tab顺序。
ImageButton控件支持下面的方法:
·Focus()——用于把初始表单焦点设为该ImageButton控件。
ImageButton控件还支持下面两个事件:
·Click——点击ImageButton控件时引发。
·Command——点击ImageButton控件时引发。CommandName和CommandArgument被传给这个事件。
四、Button控件使用客户端脚本
三种Button控件都支持OnClientClick属性。可以使用此属性来执行点击按钮时所需的任何客户端代码。代码清单5的页面展示了如何使用OnClientClick属性来显示一个确认对话框(见图5)。
代码清单5 ButtonOnClientClick.aspx
复制代码 代码如下:
<form runat="server">
<div>
<asp:Button Text="Delete Website" OnClientClick="return confirm('Are you sure?');" Runat="server" /><br /><br />
<asp:Label Runat="server" />
</div>
</form>
图5显示客户端确认对话框