DetailsViewInsertedEventArgs Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona datos para el evento ItemInserted.
public ref class DetailsViewInsertedEventArgs : EventArgs
public class DetailsViewInsertedEventArgs : EventArgs
type DetailsViewInsertedEventArgs = class
inherit EventArgs
Public Class DetailsViewInsertedEventArgs
Inherits EventArgs
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el DetailsViewInsertedEventArgs objeto pasado al controlador de eventos para el ItemInserted evento para determinar si se produjo una excepción durante una operación de inserción.
<%@ 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 CustomerDetailsView_ItemInserted(Object sender,
DetailsViewInsertedEventArgs e)
{
// Use the Exception property to determine whether an exception
// occurred during the insert operation.
if (e.Exception == null && e.AffectedRows == 1)
{
// Use the Values property to get the value entered by
// the user for the CompanyName field.
String name = e.Values["CompanyName"].ToString();
// Display a confirmation message.
MessageLabel.Text = name + " added successfully. ";
}
else
{
// Insert the code to handle the exception.
MessageLabel.Text = e.Exception.Message;
// Use the ExceptionHandled property to indicate that the
// exception is already handled.
e.ExceptionHandled = true;
// When an exception occurs, keep the DetailsView
// control in insert mode.
e.KeepInInsertMode = true;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewInsertedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="true"
autogeneraterows="true"
allowpaging="true"
oniteminserted="CustomerDetailsView_ItemInserted"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
insertcommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode],
[Country]) VALUES (@CustomerID, @CompanyName, @Address,
@City, @PostalCode, @Country)"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
<%@ Page language="VB" autoeventwireup="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomerDetailsView_ItemInserted(ByVal sender As Object, _
ByVal e As DetailsViewInsertedEventArgs) _
Handles CustomerDetailsView.ItemInserted
' Use the Exception property to determine whether an exception
' occurred during the insert operation.
If e.Exception Is Nothing And e.AffectedRows = 1 Then
' Use the Values property to get the value entered by
' the user for the CompanyName field.
Dim name As String = e.Values("CompanyName").ToString()
' Display a confirmation message.
MessageLabel.Text = name & " added successfully. "
Else
' Insert the code to handle the exception.
MessageLabel.Text = e.Exception.Message
' Use the ExceptionHandled property to indicate that the
' exception is already handled.
e.ExceptionHandled = True
' When an exception occurs, keep the DetailsView
' control in insert mode.
e.KeepInInsertMode = True
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewInsertedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="true"
autogeneraterows="true"
allowpaging="true"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
insertcommand="INSERT INTO [Customers]([CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
Comentarios
El DetailsView control genera el ItemInserted evento cuando se hace clic en un botón Insertar (un botón con su CommandName
propiedad establecida en "Insertar") dentro del control, pero después de que el DetailsView control inserte el registro. Esto permite proporcionar un controlador de eventos que realice una rutina personalizada, como comprobar los resultados de una operación de inserción, siempre que se produzca este evento.
Un DetailsViewInsertedEventArgs objeto se pasa al controlador de eventos, lo que permite determinar el número de registros afectados y las excepciones que podrían haberse producido. Para determinar el número de registros afectados por la operación de inserción, use la AffectedRows propiedad . Utilice la Exception propiedad para determinar si se ha producido alguna excepción. También puede indicar si la excepción se controló en el controlador de eventos estableciendo la ExceptionHandled propiedad . Si necesita tener acceso a los valores del registro insertado, use la Values propiedad .
De forma predeterminada, el DetailsView control vuelve al modo especificado por la DefaultMode propiedad después de una operación de inserción. Para mantener el DetailsView control en modo de inserción, establezca la KeepInInsertMode propiedad true
en .
Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.
Para obtener una lista con los valores de propiedad iniciales de una instancia de la clase DetailsViewDeletedEventArgs, vea el constructor DetailsViewDeletedEventArgs.
Constructores
DetailsViewInsertedEventArgs(Int32, Exception) |
Inicializa una nueva instancia de la clase DetailsViewInsertedEventArgs. |
Propiedades
AffectedRows |
Obtiene el número de filas afectadas por la inserción. |
Exception |
Obtiene la excepción (si existe) generada durante la operación de inserción. |
ExceptionHandled |
Obtiene o establece un valor que indica si una excepción generada durante la operación de inserción se controló en el controlador de eventos. |
KeepInInsertMode |
Obtiene o establece un valor que indica si el control DetailsView debe permanecer en modo de inserción después de una operación de inserción. |
Values |
Obtiene un diccionario que contiene los pares nombre/valor de campo para el registro insertado. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |