ButtonField.CommandName Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define uma cadeia de caracteres que representa a ação a ser executada quando um botão em um objeto ButtonField for clicado.
public:
virtual property System::String ^ CommandName { System::String ^ get(); void set(System::String ^ value); };
public virtual string CommandName { get; set; }
member this.CommandName : string with get, set
Public Overridable Property CommandName As String
Valor da propriedade
O nome da ação a ser executada quando um botão no ButtonField for clicado.
Exemplos
O exemplo de código a seguir demonstra como usar a CommandName propriedade para especificar um nome de comando para os botões em um ButtonField objeto de um GridView controle.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
{
// If multiple ButtonField column fields are used, use the
// CommandName property to determine which button was clicked.
if(e.CommandName=="Select")
{
// Convert the row index stored in the CommandArgument
// property to an Integer.
int index = Convert.ToInt32(e.CommandArgument);
// Get the last name of the selected author from the appropriate
// cell in the GridView control.
GridViewRow selectedRow = CustomersGridView.Rows[index];
TableCell contactName = selectedRow.Cells[1];
string contact = contactName.Text;
// Display the selected author.
Message.Text = "You selected " + contact + ".";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonField Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ButtonField Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="CustomersGridView"/>
<!-- Populate the Columns collection declaratively. -->
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
onrowcommand="CustomersGridView_RowCommand"
runat="server">
<columns>
<asp:buttonfield buttontype="Button"
commandname="Select"
headertext="Select Customer"
text="Select"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="ContactName"
headertext="Contact Name"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
' If multiple ButtonField column fields are used, use the
' CommandName property to determine which button was clicked.
If e.CommandName = "Select" Then
' Convert the row index stored in the CommandArgument
' property to an Integer.
Dim index As Integer = Convert.ToInt32(e.CommandArgument)
' Get the last name of the selected author from the appropriate
' cell in the GridView control.
Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
Dim contactCell As TableCell = selectedRow.Cells(1)
Dim contact As String = contactCell.Text
' Display the selected author.
Message.Text = "You selected " & contact & "."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonField Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>ButtonField Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="CustomersGridView"/>
<!-- Populate the Columns collection declaratively. -->
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
onrowcommand="CustomersGridView_RowCommand"
runat="server">
<columns>
<asp:buttonfield buttontype="Button"
commandname="Select"
headertext="Select Customer"
text="Select"/>
<asp:boundfield datafield="CompanyName"
headertext="Company Name"/>
<asp:boundfield datafield="ContactName"
headertext="Contact Name"/>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Comentários
Use a CommandName propriedade para associar um nome de comando, como "Add"
ou "Remove"
, com os botões no ButtonField objeto. Você pode definir a CommandName propriedade para qualquer cadeia de caracteres que identifique a ação a ser executada quando o botão de comando for clicado. Em seguida, você pode determinar programaticamente o nome do comando em um manipulador de eventos e executar as ações apropriadas.
Observação
Todos os botões em um ButtonField objeto compartilham o mesmo nome de comando.
Os controles associados a dados reconhecem determinados nomes de comando e geram e manipulam automaticamente os eventos apropriados para o controle. Os seguintes nomes de comando são reconhecidos:
"Cancel"
"Delete"
"Edit"
"Insert"
"New"
"Page"
"Select"
"Sort"
"Update"
Para invocar a paginação, defina o CommandName "Page"
para e o CommandArgument do controle contido Button como"First"
, "Last"
, , "Prev"``"Next"
ou um número de página. No entanto, como o CommandArgument para um ButtonField controle é sempre o índice de linha inteiro, um ButtonField controle não é adequado para invocar paginação. Da mesma forma, embora você possa invocar a classificação definindo a CommandName como, a CommandArgument propriedade de um ButtonField controle é sempre o índice "Sort"
de linha inteiro. Por esse motivo, um ButtonField controle não é adequado para invocar a classificação. Para nomes de comando personalizados, como "Add"
e "Remove"
, você precisa escrever o código do evento para verificar o nome do comando e executar alguma ação personalizada. Para obter mais informações, consulte DataControlCommands.
Observação
Nem todos os nomes de comando são reconhecidos por todos os controles associados a dados. Por exemplo, "New"
não é reconhecido pelo GridView controle e "Select"
não é reconhecido pelo DetailsView controle.
O valor dessa propriedade é armazenado no estado de exibição.