Exportar (0) Imprimir
Expandir todo

ObjectDataSourceView.Deleting (Evento)

Tiene lugar antes de una operación de Delete.

Espacio de nombres: System.Web.UI.WebControls
Ensamblado: System.Web (en system.web.dll)

public event ObjectDataSourceMethodEventHandler Deleting
/** @event */
public void add_Deleting (ObjectDataSourceMethodEventHandler value)

/** @event */
public void remove_Deleting (ObjectDataSourceMethodEventHandler value)

En JScript, se pueden controlar los eventos que define una clase, pero no se pueden definir unos propios.
No aplicable.

Controle el evento Deleting para realizar operaciones de inicialización adicionales específicas de la aplicación, para validar los valores de parámetros o para cambiar los valores de los parámetros antes de que el control ObjectDataSource lleve a cabo la operación de Delete. Los parámetros están disponibles como colección IDictionary a la que tiene acceso la propiedad InputParameters, expuesta por el objeto ObjectDataSourceMethodEventArgs.

Para obtener más información sobre el control de eventos, vea Utilizar eventos.

En el siguiente ejemplo de código se muestra cómo utilizar un control ObjectDataSource con un objeto comercial y un control GridView para eliminar datos. El control GridView muestra inicialmente un conjunto con todos los empleados, utilizando el método especificado por la propiedad SelectMethod para recuperar los datos del objeto EmployeeLogic. Puesto que la propiedad AutoGenerateDeleteButton está establecida en true, el control GridView muestra automáticamente un botón Eliminar.

Si se hace clic en el botón Eliminar, la operación Delete se lleva a cabo con el método especificado por la propiedad DeleteMethod y los parámetros especificados en la colección DeleteParameters. En este ejemplo de código se realizan también unos pasos de preprocesamiento y de procesamiento posterior. Se llama al delegado NorthwindEmployeeDeleting para controlar el evento Deleting antes de que se realice la operación Delete, y se llama al delegado NorthwindEmployeeDeleted para controlar el evento Deleted una vez que la operación Delete ha terminado, para llevar a cabo el control de excepciones. En este ejemplo, si se produce una excepción NorthwindDataException, la controla este delegado.

Para examinar la implementación del objeto comercial de nivel medio EmployeeLogic que se utiliza en este ejemplo, vea ObjectDataSourceStatusEventArgs.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Import namespace="Samples.AspNet.CS" %>
<%@ 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">
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 xmlns="http://www.w3.org/1999/xhtml" >
  <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 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2014 Microsoft