ListViewEditEventArgs-Klasse
Aktualisiert: November 2007
Stellt Daten für das ItemEditing-Ereignis bereit.
Assembly: System.Web.Extensions (in System.Web.Extensions.dll)
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] public class ListViewEditEventArgs : CancelEventArgs
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */ /** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */ public class ListViewEditEventArgs extends CancelEventArgs
public class ListViewEditEventArgs extends CancelEventArgs
Das ListView-Steuerelement löst das ItemEditing-Ereignis aus, wenn auf eine Schaltfläche zum Bearbeiten geklickt wird, jedoch bevor das ListView-Element in den Bearbeitungsmodus wechselt. (Eine Schaltfläche zum Bearbeiten ist eine Schaltfläche, deren CommandName-Eigenschaftensatz auf "Edit" festgelegt ist.) Dadurch können Sie eine Ereignisbehandlungsmethode bereitstellen, die bei jedem Auftreten dieses Ereignisses eine benutzerdefinierte Routine ausführt, beispielsweise den Abbruch des Bearbeitungsvorgangs.
Ein ListViewEditEventArgs-Objekt wird an die Ereignisbehandlungsmethode übergeben. Mithilfe dieses Objekts können Sie den Index des derzeit bearbeiteten Elements bestimmen und angeben, dass der Bearbeitungsvorgang abgebrochen werden soll. Legen Sie die Cancel-Eigenschaft des ListViewEditEventArgs-Objekts auf true fest, um den Bearbeitungsvorgang abzubrechen.
Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz von ListViewEditEventArgs finden Sie unter ListViewEditEventArgs-Konstruktor.
Im folgenden Beispiel wird veranschaulicht, wie mit dem ListViewEditEventArgs-Objekt der Bearbeitungsvorgang abgebrochen wird, wenn der Benutzer versucht, ein nicht fortgeführtes Element zu aktualisieren.
Sicherheitshinweis: |
|---|
In dem Beispiel wird ein Textfeld verwendet, das Benutzereingaben akzeptiert. Dies stellt ein Sicherheitsrisiko dar. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe. |
<%@ 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 Page_Load() { Message.Text = String.Empty; } void ProductsListView_ItemEditing(Object sender, ListViewEditEventArgs e) { ListViewItem item = ProductsListView.Items[e.NewEditIndex]; Label dateLabel = (Label)item.FindControl("DiscontinuedDateLabel"); if (String.IsNullOrEmpty(dateLabel.Text)) return; //Verify if the item is discontinued. DateTime discontinuedDate = DateTime.Parse(dateLabel.Text); if (discontinuedDate < DateTime.Now) { Message.Text = "You cannot edit a discontinued item."; e.Cancel = true; ProductsListView.SelectedIndex = -1; } } void DiscontinuedDateCalendar_OnSelectionChanged(Object sender, EventArgs e) { TextBox dateTextBox = (TextBox)ProductsListView.EditItem.FindControl("DiscontinuedDateTextBox"); Calendar calendarObject = (Calendar)sender; dateTextBox.Text = calendarObject.SelectedDate.ToString("d"); } DateTime GetDateTime(object dateValue) { if (dateValue == DBNull.Value) return DateTime.Now; else return (DateTime)dateValue; } protected void ProductsListView_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e) { // Clears the edit index selection when paging. ProductsListView.EditIndex = -1; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>ListView Edit Item Example</title> </head> <body> <form id="form1" runat="server"> <h3>ListView Edit Item Example</h3> <asp:Label ID="Message" ForeColor="Red" runat="server"/> <br/> <asp:ListView ID="ProductsListView" DataSourceID="ProductsDataSource" DataKeyNames="ProductID" OnItemEditing="ProductsListView_ItemEditing" ConvertEmptyStringToNull="true" OnPagePropertiesChanging="ProductsListView_PagePropertiesChanging" runat="server" > <LayoutTemplate> <table cellpadding="2" runat="server" id="tblProducts" width="640px"> <tr runat="server" id="itemPlaceholder" /> </table> <asp:DataPager runat="server" ID="ProductsDataPager" PageSize="12"> <Fields> <asp:NextPreviousPagerField ShowFirstPageButton="true" ShowLastPageButton="true" FirstPageText="|<< " LastPageText=" >>|" NextPageText=" > " PreviousPageText=" < " /> </Fields> </asp:DataPager> </LayoutTemplate> <ItemTemplate> <tr runat="server"> <td valign="top"> <asp:LinkButton ID="EditButton" runat="server" Text="Edit" CommandName="Edit" /> </td> <td valign="top"> <asp:Label ID="NameLabel" runat="server" Text='<%#Eval("Name") %>' /> </td> <td valign="top"> <asp:Label ID="ProductNumberLabel" runat="server" Text='<%#Eval("ProductNumber") %>' /> </td> <td> <asp:Label ID="DiscontinuedDateLabel" runat="server" Text='<%#Eval("DiscontinuedDate", "{0:d}") %>' /> </td> </tr> </ItemTemplate> <EditItemTemplate> <tr style="background-color:#ADD8E6"> <td valign="top"> <asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" /><br /> <asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" /> </td> <td valign="top" colspan="2"> <asp:Label runat="server" ID="NameLabel" AssociatedControlID="NameTextBox" Text="Name"/> <asp:TextBox ID="NameTextBox" runat="server" Text='<%#Bind("Name") %>' MaxLength="50" /><br /> <asp:Label runat="server" ID="ProductNumberLabel" AssociatedControlID="ProductNumberTextBox" Text="Product Number" /> <asp:TextBox ID="ProductNumberTextBox" runat="server" Text='<%#Bind("ProductNumber") %>' MaxLength="25" /><br /> </td> <td> <asp:Label runat="server" ID="DiscontinuedDateLabel" AssociatedControlID="DiscontinuedDateTextBox" Text="Discontinued Date"/> <asp:TextBox ID="DiscontinuedDateTextBox" runat="server" Text='<%# Bind("DiscontinuedDate", "{0:d}") %>' MaxLength="10" /><br /> <asp:Calendar ID="DiscontinuedDateCalendar" runat="server" SelectedDate='<%# GetDateTime(Eval("DiscontinuedDate")) %>' OnSelectionChanged="DiscontinuedDateCalendar_OnSelectionChanged" /> </td> </tr> </EditItemTemplate> </asp:ListView> <!-- 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="ProductsDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>" SelectCommand="SELECT [ProductID], [Name], [ProductNumber], [DiscontinuedDate] FROM Production.Product" UpdateCommand="UPDATE Production.Product SET Name = @Name, ProductNumber = @ProductNumber, DiscontinuedDate = @DiscontinuedDate WHERE ProductID = @ProductID"> </asp:SqlDataSource> </form> </body> </html>
- AspNetHostingPermission
für den Betrieb in einer Hostumgebung. Anforderungswert: LinkDemand, Berechtigungswert: Minimal.
- AspNetHostingPermission
für den Betrieb in einer Hostumgebung. Anforderungswert: InheritanceDemand, Berechtigungswert: Minimal.
System.EventArgs
System.ComponentModel.CancelEventArgs
System.Web.UI.WebControls.ListViewEditEventArgs
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Sicherheitshinweis: