ListView.ItemCommand Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt ein, wenn in einem ListView-Steuerelement auf eine Schaltfläche geklickt wird.
public:
event EventHandler<System::Web::UI::WebControls::ListViewCommandEventArgs ^> ^ ItemCommand;
public event EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs> ItemCommand;
member this.ItemCommand : EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs>
Public Custom Event ItemCommand As EventHandler(Of ListViewCommandEventArgs)
Ereignistyp
Beispiele
Das folgende Beispiel zeigt, wie Sie einen ItemCommand Ereignishandler erstellen.
<%@ 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">
protected void EmployeesListView_OnItemCommand(object sender, ListViewCommandEventArgs e)
{
if (String.Equals(e.CommandName, "AddToList"))
{
// Verify that the employee ID is not already in the list. If not, add the
// employee to the list.
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
string employeeID =
EmployeesListView.DataKeys[dataItem.DisplayIndex].Value.ToString();
if (SelectedEmployeesListBox.Items.FindByValue(employeeID) == null)
{
ListItem item = new ListItem(e.CommandArgument.ToString(), employeeID);
SelectedEmployeesListBox.Items.Add(item);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Employee List</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</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">
Protected Sub EmployeesListView_OnItemCommand(ByVal sender As Object, _
ByVal e As ListViewCommandEventArgs)
If String.Equals(e.CommandName, "AddToList") Then
' Verify that the employee ID is not already in the list. If not, add the
' employee to the list.
Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem)
Dim employeeID As String = _
EmployeesListView.DataKeys(dataItem.DisplayIndex).Value.ToString()
If SelectedEmployeesListBox.Items.FindByValue(employeeID) Is Nothing Then
Dim item As ListItem = _
New ListItem(e.CommandArgument.ToString(), employeeID)
SelectedEmployeesListBox.Items.Add(item)
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title>Employee List</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
</form>
</body>
</html>
Hinweise
Das ItemCommand Ereignis wird ausgelöst, wenn auf eine Schaltfläche im ListView Steuerelement geklickt wird. Dadurch können Sie immer dann eine benutzerdefinierte Routine ausführen, wenn dieses Ereignis auftritt.
Schaltflächen in einem ListView Steuerelement können auch integrierte Funktionen des Steuerelements aufrufen. In der folgenden Tabelle sind Werte aufgeführt, die Sie mit der CommandName Eigenschaft einer Schaltfläche verwenden können, um integrierte Funktionen aufzurufen.
CommandName-Wert | BESCHREIBUNG |
---|---|
"Abbrechen" | Bricht einen Bearbeitungs- oder Einfügevorgang ab. Löst das ItemCanceling-Ereignis aus. |
"Löschen" | Löscht den aktuellen Datensatz aus der Datenquelle. Löst die ItemDeleted Ereignisse und ItemDeleting aus. |
„Auswählen“ | Legt die SelectedIndex -Eigenschaft auf den DisplayIndex Eigenschaftswert für das Element fest. Rendert die SelectedItemTemplate Vorlage für das Element. Löst die SelectedIndexChanging Ereignisse und SelectedIndexChanged aus. |
"Bearbeiten" | Versetzt das Element in den Bearbeitungsmodus. Rendert die EditItemTemplate Vorlage für das Element. Löst das ItemEditing-Ereignis aus. |
"Einfügen" | Fügt die gebundenen Werte aus der InsertItemTemplate Vorlage in die Datenquelle ein. Löst die ItemInserting Ereignisse und ItemInserted aus. |
"Aktualisieren" | Aktualisiert den aktuellen Datensatz in der Datenquelle mit den gebundenen Werten aus der EditItemTemplate Vorlage. Löst die ItemUpdating Ereignisse und ItemUpdated aus. |
"Sortieren" | Sortiert die In der CommandArgument -Eigenschaft der Schaltfläche aufgeführten Spalten. Löst die Sorting Ereignisse und Sorted aus. |
Das ItemCommand Ereignis wird auch ausgelöst, wenn auf eine Schaltfläche geklickt wird, die in der vorherigen Tabelle aufgeführt ist. Es wird jedoch empfohlen, die in der Tabelle aufgeführten Ereignisse zu verwenden. Das ItemCommand Ereignis wird normalerweise verwendet, um benutzerdefinierte Vorgänge zu behandeln.
Ein ListViewCommandEventArgs -Objekt wird an den Ereignishandler übergeben, wodurch Sie den Befehlsnamen und das Befehlsargument der Schaltfläche bestimmen können, auf die geklickt wurde. Verwenden Sie die -Eigenschaft, um den CommandEventArgs.CommandName Befehlsnamen zu bestimmen. Verwenden Sie die -Eigenschaft, um das CommandEventArgs.CommandArgument Befehlsargument zu bestimmen. Verwenden Sie die -Eigenschaft, um auf das Steuerelement zuzugreifen, das das ListViewCommandEventArgs.CommandSource Ereignis ausgelöst hat.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.