ButtonField.CommandName Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta una stringa che rappresenta l'azione da eseguire quando si fa clic su un pulsante in un ButtonField oggetto .
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
Valore della proprietà
Nome dell'azione da eseguire quando si fa clic su un pulsante in ButtonField .
Esempio
Nell'esempio di codice seguente viene illustrato come utilizzare la CommandName proprietà per specificare un nome di comando per i pulsanti in un ButtonField oggetto di un GridView controllo .
<%@ 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>
Commenti
Utilizzare la CommandName proprietà per associare un nome di comando, ad esempio "Add" o "Remove", ai pulsanti nell'oggetto ButtonField . È possibile impostare la CommandName proprietà su qualsiasi stringa che identifica l'azione da eseguire quando si fa clic sul pulsante di comando. È quindi possibile determinare a livello di codice il nome del comando in un gestore eventi ed eseguire le azioni appropriate.
Annotazioni
Tutti i pulsanti in un ButtonField oggetto condividono lo stesso nome di comando.
I controlli associati a dati riconoscono determinati nomi di comando e generano e gestiscono automaticamente gli eventi appropriati per il controllo. Vengono riconosciuti i nomi dei comandi seguenti:
"Cancel""Delete""Edit""Insert""New""Page""Select""Sort""Update"
Per richiamare il paging, impostare su "Page"CommandName e sull'oggetto CommandArgument del controllo contenuto Button su "First", "Last", "Next""Prev", o un numero di pagina. Tuttavia, poiché per CommandArgument un ButtonField controllo è sempre l'indice di riga integer, un ButtonField controllo non è adatto per richiamare il paging. Analogamente, mentre è possibile richiamare l'ordinamento impostando su CommandName"Sort", la CommandArgument proprietà per un ButtonField controllo è sempre l'indice di riga integer. Per questo motivo, un ButtonField controllo non è adatto per richiamare l'ordinamento. Per i nomi dei comandi personalizzati, ad esempio "Add" e "Remove", è necessario scrivere il codice evento per controllare il nome del comando ed eseguire un'azione personalizzata. Per altre informazioni, vedere DataControlCommands.
Annotazioni
Non tutti i nomi dei comandi vengono riconosciuti da tutti i controlli associati a dati. Ad esempio, "New" non viene riconosciuto dal GridView controllo e "Select" non viene riconosciuto dal DetailsView controllo .
Il valore di questa proprietà viene archiviato nello stato di visualizzazione.