按钮事件的关联
页面上很多按钮,实现的功能基本差不多.我现在想把这些事件统一用一个事件来处理,就像GridView的ItemCommand一样可以通过e.CommandName来取到不同按钮的CommandName,根据不同的CommandName来实现不同的代码。但现在问题是button的Click时间没有e.CommandName这个属性..我的想法能实现吗?
------解决方案--------------------当在网页上具有多个 Button 控件时,可使用 CommandName 属性来指定或确定与每一 Button 控件关联的命令名。可以用标识要执行的命令的任何字符串来设置 CommandName 属性。然后,可以以编程方式确定 Button 控件的命令名并执行相应的操作。
有关命令的附加信息(如 Ascending)可以使用 CommandArgument 属性来指定。
无法通过主题或样式表主题设置此属性。有关更多信息,请参见 ThemeableAttribute 和 ASP.NET 主题和外观概述。
示例
下面的代码示例演示如何使用 CommandName 属性来创建对列表进行排序的 Button 控件。
Visual Basic
<%@ 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= &