页面上很多按钮,实现的功能基本差不多.我现在想把这些事件统一用一个事件来处理,就像GridView的ItemCommand一样可以通过e.CommandName来取到不同按钮的CommandName,根据不同的CommandName来实现不同的代码。但现在问题是button的Click时间没有e.CommandName这个属性..我的想法能实现吗?
解决方案 »
- 请教一下, protected override void Render
- 绑定到Repeater,出现IndexOutofRangeException或HttpException
- WEB页继承自定义类出错,怎么解决
- 有南宁的程序员吗?我帮人发布个项目外包。
- 请教一个关于excel里面图片的问题
- 如何在浏览器中只保留地址栏,而把工具栏等不显示
- 100分求解决方案,分不够再加!!!!!!!!!!!
- CreateChildControls()问题,大虾帮忙啊!!!
- asp.net 2.0 login控件的模板问题
- 如何动态生成网页?
- 关于分页后的datagrid数据导入到excel
- 一个简单的问题。。。 。。。大家帮帮忙!
<%@ 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 >
<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>
C#
<%@ 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 >
<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>
{
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1.Click += new System.EventHandler(this.button_Click);
this.button2.Click += new System.EventHandler(this.button_Click);
} private void button_Click(object sender, EventArgs e)
{
if(sender is System.Windows.Forms.Button)
{
switch (((System.Windows.Forms.Button)sender).Name)
{
case "button1":
....
case "button2":
....
}
}
protected void bxsp_Click(object sender, CommandEventArgs e)
结果运行的时候报错:
错误 5 “bxsp_Click”的重载均与委托“System.EventHandler”不匹配
那么button2的方法你上加上button1_click,在控件方法窗口(那个闪电图标)的click填上button1_click就行了.