ASP.NET中Button控件的OnCommand事件与OnClick事件的不同之处?采用其中的任何一个事件执行的效果基本上都是相同的。它们的不同之处是什
ASP.NET中Button控件的OnCommand事件与OnClick事件的不同之处?采用其中的任何一个事件执行的效果基本上都是相同的。它们的不同之处是什么呢?
------解决方案--------------------msdn上已经说的很清楚了
当单击 Button 控件时会引发 Command 事件。当命令名(如 Sort)与 Button 控件关联时,通常使用该事件。这使您可以在一个网页上创建多个 Button 控件,并以编程方式确定单击了哪个 Button 控件。
看一下他的例子吧:
<%@ Page Language= "C# " AutoEventWireup= "True " %>
<html>
<head>
<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 runat= "server