ASP.NET中Button控件的OnCommand事件与OnClick事件的不同之处?采用其中的任何一个事件执行的效果基本上都是相同的。它们的不同之处是什么呢?
解决方案 »
- Repeater中的LinkButton怎么实现点击后变灰色使其Enabled = false
- ajax accordion和pane的问题
- asp.net几个常见模块开发的疑惑
- JAVASCRIPT能调用.cs里面的函数吗?
- 大家有好的模板引擎的相关类和代码吗?贴出来共同分享一下,谢谢(C#和asp的都行)
- 熟悉web安装项目的请进
- 怎样在点击某个按钮时,不让它运行page_load呢?
- 急、急、急,一个让我很头疼的小问题,大家帮忙啊,在线等!!
- 怎么显示换行啊?
- sybase 库连不上了!!!!!!
- 如果把javascript学精了会怎样?
- asp.net做的网站.为什么一上传到空间 验证控件就失效,
看一下他的例子吧:<%@ 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"> <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>
用DATAGRID的话可以用ONCOMMOND来对进行针对某个绑定了数据的单元的操作
而ONCLICK的话只能进行和绑定数据无关的操作...