一、Button控件
Button空间的属性如下:
Button按钮常见属性:
属性名 | 属性类型 | 属性说明 |
CausesValidation | bool | 指示在单击 Button 控件时是否执行验证 |
CommandArgument | string | 该参数会传递到Command 事件 |
CssClass | string | 该参数指示控件在客户端呈现的级联样式表 (CSS) 类 |
Enabled | bool | 指示是否启用 Web 服务器控件 |
OnClientClick | string | Button 控件的 Click 事件时所执行的客户端脚本 |
Text | string | 在 Button 控件中显示的文本标题 |
ValidationGroup | string | Button 控件回发到服务器时要进行验证的控件组 |
Button控件的常见事件:
事件名 | 委托类型 | 事件说明 |
Click | EventHandler | 单击Button控件激发的事件 |
Command | CommandEventHandler | 单击Button控件激发的事件 |
Click和Command事件都是单击Button按钮时发生的事件,可是处理它们的委托类型不同,激发Click事件由 EventHandler委托来处理,激发Command事件后由CommandEventHandler委托来处理,看看它们的声明:
- public delegate void EventHandler (
- Object sender,
- EventArgs e
- )
- public delegate void CommandEventHandler (
- Object sender,
- CommandEventArgs e
- )
看出区别来了吗?它们都有两个参数,第一个参数表示由哪个控件激发了事件,第二个参数表示发生事件时的一些事件数据。这两个委托第一个参数都是相同 的,第二个参数不同,EventArgs这个类不带有任何事件数据(这个委托很常见,不关心事件数据的事件都是用这个委托处理),而 CommandEventArgs可以附带事件数据,它有两个重要属性:CommandArgument和CommandName。 CommandArgument属性可以附带一些参数信息,CommandName用于设置命名的名称。
新建一个default.aspx页面,代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.menu
{
color:Blue;
background-color:Black;
font-size:larger;
}
.menu2
{
color:Green;
background-color:Blue;
font-size:large;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<p>
<asp:Button
ID="Button1" runat="server" Text="测试一" OnClientclick="javascript: return confirm('确认提交吗?')" onclick="Button1_Click" CssClass="menu"/>
<asp:Button ID="Button2" runat="server" Text="测试二" CssClass="menu2 "
oncommand="Button2_Command" CommandArgument="1"/>
</p>
</form>
</body>
</html>
注意:给ID为Button2的按钮添加oncommand事件时不能直接双击按扭添加,只能通过在界面中找到该Button控件,在属性栏中点击事件,双击Command右边的空白处添加。
如图: