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

按钮事件的关联
页面上很多按钮,实现的功能基本差不多.我现在想把这些事件统一用一个事件来处理,就像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= &