Exportieren (0) Drucken
Alle erweitern

ObjectDataSourceView.Deleted-Ereignis

Hinweis: Dieses Ereignis ist neu in .NET Framework, Version 2.0.

Tritt ein, wenn ein Delete-Vorgang abgeschlossen wurde.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public event ObjectDataSourceStatusEventHandler Deleted
/** @event */
public void add_Deleted (ObjectDataSourceStatusEventHandler value)

/** @event */
public void remove_Deleted (ObjectDataSourceStatusEventHandler value)

JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Sie können das Deleted-Ereignis behandeln, um die Werte eines Rückgabewerts sowie der Ausgabeparameter zu untersuchen oder um zu bestimmen, ob nach Abschluss eines Delete-Vorgangs eine Ausnahme ausgelöst wurde. Der Rückgabewert, die Ausgabeparameter und die Eigenschaften für die Ausnahmebehandlung sind im ObjectDataSourceStatusEventArgs-Objekt verfügbar, das dem Ereignis zugeordnet ist.

Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.

Im folgenden Codebeispiel wird veranschaulicht, wie ein ObjectDataSource-Steuerelement zusammen mit einem Geschäftsobjekt und einem GridView-Steuerelement zum Löschen von Daten verwendet wird. Die GridView zeigt zuerst einen Datensatz mit allen Mitarbeitern an. Hierfür verwendet sie die durch die SelectMethod-Eigenschaft angegebene Methode, um die Daten vom EmployeeLogic-Objekt abzurufen. Da die AutoGenerateDeleteButton-Eigenschaft auf true festgelegt ist, zeigt das GridView-Steuerelement automatisch die Schaltfläche Löschen an.

Wenn Sie auf die Schaltfläche Löschen klicken, wird der Delete-Vorgang mit der Methode ausgeführt, die von der DeleteMethod-Eigenschaft angegeben wird, sowie mit allen in der DeleteParameters-Auflistung angegebenen Parametern. In diesem Codebeispiel werden auch einige Schritte zur Vor- und Nachverarbeitung ausgeführt. Der NorthwindEmployeeDeleting-Delegat wird zum Behandeln des Deleting-Ereignisses aufgerufen, bevor der Delete-Vorgang durchgeführt wird. Der NorthwindEmployeeDeleted-Delegat wird zum Behandeln des Deleted-Ereignisses aufgerufen, um eine Ausnahmebehandlung durchzuführen, nachdem der Delete-Vorgang durchgeführt wurde. Wenn in diesem Beispiel eine NorthwindDataException ausgelöst wird, wird sie von diesem Delegaten behandelt.

Weitere Informationen zum Überprüfen der Implementierung des EmployeeLogic-Geschäftsobjekts mittlerer Ebene, das in diesem Codebeispiel verwendet wird, finden Sie unter ObjectDataSourceStatusEventArgs.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Import namespace="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<Script runat="server">
private void NorthwindEmployeeDeleting(object source, ObjectDataSourceMethodEventArgs e)
{
  // The GridView passes the ID of the employee
  // to be deleted. However, the buisiness object, EmployeeLogic,
  // requires a NorthwindEmployee parameter, named "ne". Create
  // it now and add it to the parameters collection.
  IDictionary paramsFromPage = e.InputParameters;
  if (paramsFromPage["EmpID"] != null) {
    NorthwindEmployee ne
      = new NorthwindEmployee( Int32.Parse(paramsFromPage["EmpID"].ToString()));
    // Remove the old EmpID parameter.
    paramsFromPage.Clear();
    paramsFromPage.Add("ne", ne);
  }
}

private void NorthwindEmployeeDeleted(object source, ObjectDataSourceStatusEventArgs e)
{
  // Handle the Exception if it is a NorthwindDataException
  if (e.Exception != null)
  {

    // Handle the specific exception type. The ObjectDataSource wraps
    // any Exceptions in a TargetInvokationException wrapper, so
    // check the InnerException property for expected Exception types.
    if (e.Exception.InnerException is NorthwindDataException)
    {
      Label1.Text = e.Exception.InnerException.Message;
      // Because the exception is handled, there is
      // no reason to throw it.
      e.ExceptionHandled = true;
    }
  }
}

</Script>
<html>
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1"
          autogeneratedeletebutton="true"
          autogeneratecolumns="false"
          datakeynames="EmpID">
          <columns>
            <asp:boundfield headertext="EmpID" datafield="EmpID" />
            <asp:boundfield headertext="First Name" datafield="FirstName" />
            <asp:boundfield headertext="Last Name" datafield="LastName" />
          </columns>
        </asp:gridview>

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          selectmethod="GetAllEmployees"
          deletemethod="DeleteEmployee"
          ondeleting="NorthwindEmployeeDeleting"
          ondeleted="NorthwindEmployeeDeleted"
          typename="Samples.AspNet.CS.EmployeeLogic">
          <deleteparameters>
            <asp:parameter name="EmpID" type="Int32" />
          </deleteparameters>
        </asp:objectdatasource>

        <asp:label id="Label1" runat="server" />

    </form>
  </body>
</html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen:
© 2015 Microsoft