日期:2014-05-18  浏览次数:20447 次

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