CommandEventHandler 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示用来处理 Command
事件的方法。
public delegate void CommandEventHandler(System::Object ^ sender, CommandEventArgs ^ e);
public delegate void CommandEventHandler(object sender, CommandEventArgs e);
type CommandEventHandler = delegate of obj * CommandEventArgs -> unit
Public Delegate Sub CommandEventHandler(sender As Object, e As CommandEventArgs)
参数
- sender
- Object
事件源。
包含事件数据的 CommandEventArgs。
示例
下面的示例演示如何为 Command 控件的 Button 事件指定和编码处理程序。 此示例使用 OnClick 控件的 Button 属性以声明方式指定事件处理程序。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>Button CommandName Example</title>
<script runat="server">
void CommandBtn_Click(Object sender, CommandEventArgs e)
{
switch(e.CommandName)
{
case "Sort":
// Call the method to sort the list.
Sort_List((String)e.CommandArgument);
break;
case "Submit":
// Display a message for the Submit button being clicked.
Message.Text = "You clicked the Submit button";
// Test whether the command argument is an empty string ("").
if((String)e.CommandArgument == "")
{
// End the message.
Message.Text += ".";
}
else
{
// Display an error message for the command argument.
Message.Text += ", however the command argument is not recogized.";
}
break;
default:
// The command name is not recognized. Display an error message.
Message.Text = "Command name not recogized.";
break;
}
}
void Sort_List(string commandArgument)
{
switch(commandArgument)
{
case "Ascending":
// Insert code to sort the list in ascending order here.
Message.Text = "You clicked the Sort Ascending button.";
break;
case "Descending":
// Insert code to sort the list in descending order here.
Message.Text = "You clicked the Sort Descending button.";
break;
default:
// The command argument is not recognized. Display an error message.
Message.Text = "Command argument not recogized.";
break;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Button CommandName Example</h3>
Click on one of the command buttons.
<br /><br />
<asp:Button id="Button1"
Text="Sort Ascending"
CommandName="Sort"
CommandArgument="Ascending"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button2"
Text="Sort Descending"
CommandName="Sort"
CommandArgument="Descending"
OnCommand="CommandBtn_Click"
runat="server"/>
<br /><br />
<asp:Button id="Button3"
Text="Submit"
CommandName="Submit"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button4"
Text="Unknown Command Name"
CommandName="UnknownName"
CommandArgument="UnknownArgument"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button5"
Text="Submit Unknown Command Argument"
CommandName="Submit"
CommandArgument="UnknownArgument"
OnCommand="CommandBtn_Click"
runat="server"/>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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>Button CommandName Example</title>
<script runat="server">
Sub CommandBtn_Click(sender As Object, e As CommandEventArgs)
Select e.CommandName
Case "Sort"
' Call the method to sort the list.
Sort_List(CType(e.CommandArgument, String))
Case "Submit"
' Display a message for the Submit button being clicked.
Message.Text = "You clicked the Submit button"
' Test whether the command argument is an empty string ("").
If CType(e.CommandArgument , String) = "" Then
' End the message.
Message.Text &= "."
Else
' Display an error message for the command argument.
Message.Text &= ", however the command argument is not recogized."
End If
Case Else
' The command name is not recognized. Display an error message.
Message.Text = "Command name not recogized."
End Select
End Sub
Sub Sort_List(commandArgument As String)
Select commandArgument
Case "Ascending"
' Insert code to sort the list in ascending order here.
Message.Text = "You clicked the Sort Ascending button."
Case "Descending"
' Insert code to sort the list in descending order here.
Message.Text = "You clicked the Sort Descending button."
Case Else
' The command argument is not recognized. Display an error message.
Message.Text = "Command argument not recogized."
End Select
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Button CommandName Example</h3>
Click on one of the command buttons.
<br /><br />
<asp:Button id="Button1"
Text="Sort Ascending"
CommandName="Sort"
CommandArgument="Ascending"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button2"
Text="Sort Descending"
CommandName="Sort"
CommandArgument="Descending"
OnCommand="CommandBtn_Click"
runat="server"/>
<br /><br />
<asp:Button id="Button3"
Text="Submit"
CommandName="Submit"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button4"
Text="Unknown Command Name"
CommandName="UnknownName"
CommandArgument="UnknownArgument"
OnCommand="CommandBtn_Click"
runat="server"/>
<asp:Button id="Button5"
Text="Submit Unknown Command Argument"
CommandName="Submit"
CommandArgument="UnknownArgument"
OnCommand="CommandBtn_Click"
runat="server"/>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
下面的代码示例演示如何指定 事件处理程序,以及如何以编程方式将其添加到 方法中的 Page_Load
事件。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!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>Button CommandName Example</title>
<script runat="server">
void CommandBtn_Click(Object sender, CommandEventArgs e)
{
switch(e.CommandName)
{
case "Sort":
// Call the method to sort the list.
Sort_List((String)e.CommandArgument);
break;
case "Submit":
// Display a message for the Submit button being clicked.
Message.Text = "You clicked the <b>Submit</b> button";
// Test whether the Command Argument is an empty string ("").
if((String)e.CommandArgument == "")
{
// End the message.
Message.Text += ".";
}
else
{
// Display an error message for the command argument.
Message.Text += ", but the command argument is not recogized.";
}
break;
default:
// The command name is not recognized. Display an error message.
Message.Text = "Command name not recogized.";
break;
}
}
void Sort_List(string commandArgument)
{
switch(commandArgument)
{
case "Ascending":
// Insert code to sort the list in ascending order here.
Message.Text = "You clicked the <b>Sort Ascending</b> button.";
break;
case "Descending":
// Insert code to sort the list in descending order here.
Message.Text = "You clicked the <b>Sort Descending</b> button.";
break;
default:
// The command argument is not recognized. Display an error message.
Message.Text = "Command argument not recogized.";
break;
}
}
void Page_Load(Object sender, EventArgs e)
{
// Manually register the event-handling method for the Command
// event of the Button controls.
Button1.Command += new CommandEventHandler(this.CommandBtn_Click);
Button2.Command += new CommandEventHandler(this.CommandBtn_Click);
Button3.Command += new CommandEventHandler(this.CommandBtn_Click);
Button4.Command += new CommandEventHandler(this.CommandBtn_Click);
Button5.Command += new CommandEventHandler(this.CommandBtn_Click);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Button CommandName Example</h3>
Click one of the command buttons.
<br /><br />
<asp:Button id="Button1"
Text="Sort Ascending"
CommandName="Sort"
CommandArgument="Ascending"
runat="server"/>
<asp:Button id="Button2"
Text="Sort Descending"
CommandName="Sort"
CommandArgument="Descending"
runat="server"/>
<br /><br />
<asp:Button id="Button3"
Text="Submit"
CommandName="Submit"
runat="server"/>
<asp:Button id="Button4"
Text="Unknown Command Name"
CommandName="UnknownName"
CommandArgument="UnknownArgument"
runat="server"/>
<asp:Button id="Button5"
Text="Submit Unknown Command Argument"
CommandName="Submit"
CommandArgument="UnknownArgument"
runat="server"/>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!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>Button CommandName Example</title>
<script runat="server">
Sub CommandBtn_Click(sender As Object, e As CommandEventArgs)
Select e.CommandName
Case "Sort"
' Call the method to sort the list.
Sort_List(CType(e.CommandArgument, String))
Case "Submit"
' Display a message for the Submit button being clicked.
Message.Text = "You clicked the <b>Submit</b> button"
' Test whether the Command Argument is an empty string ("").
If CType(e.CommandArgument , String) = "" Then
' End the message.
Message.Text &= "."
Else
' Display an error message for the command argument.
Message.Text &= ", but the command argument is not recogized."
End If
Case Else
' The command name is not recognized. Display an error message.
Message.Text = "Command name not recogized."
End Select
End Sub
Sub Sort_List(commandArgument As String)
Select commandArgument
Case "Ascending"
' Insert code to sort the list in ascending order here.
Message.Text = "You clicked the <b>Sort Ascending</b> button."
Case "Descending"
' Insert code to sort the list in descending order here.
Message.Text = "You clicked the <b>Sort Descending</b> button."
Case Else
' The command argument is not recognized. Display an error message.
Message.Text = "Command argument not recogized."
End Select
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
' Manually register the event-handling method for the Command
' event of the Button controls.
AddHandler Button1.Command, AddressOf CommandBtn_Click
AddHandler Button2.Command, AddressOf CommandBtn_Click
AddHandler Button3.Command, AddressOf CommandBtn_Click
AddHandler Button4.Command, AddressOf CommandBtn_Click
AddHandler Button5.Command, AddressOf CommandBtn_Click
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3>Button CommandName Example</h3>
Click one of the command buttons.
<br /><br />
<asp:Button id="Button1"
Text="Sort Ascending"
CommandName="Sort"
CommandArgument="Ascending"
runat="server"/>
<asp:Button id="Button2"
Text="Sort Descending"
CommandName="Sort"
CommandArgument="Descending"
runat="server"/>
<br /><br />
<asp:Button id="Button3"
Text="Submit"
CommandName="Submit"
runat="server"/>
<asp:Button id="Button4"
Text="Unknown Command Name"
CommandName="UnknownName"
CommandArgument="UnknownArgument"
runat="server"/>
<asp:Button id="Button5"
Text="Submit Unknown Command Argument"
CommandName="Submit"
CommandArgument="UnknownArgument"
runat="server"/>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
注解
单击 Command
、 ImageButton或 LinkButton 控件时Button引发 事件。
创建 CommandEventHandler 委托时,需要标识将处理该事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |