DetailsViewInsertedEventHandler Delegát
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje metodu, která zpracovává ItemInserted událost ovládacího prvku DetailsView .
public delegate void DetailsViewInsertedEventHandler(System::Object ^ sender, DetailsViewInsertedEventArgs ^ e);
public delegate void DetailsViewInsertedEventHandler(object sender, DetailsViewInsertedEventArgs e);
type DetailsViewInsertedEventHandler = delegate of obj * DetailsViewInsertedEventArgs -> unit
Public Delegate Sub DetailsViewInsertedEventHandler(sender As Object, e As DetailsViewInsertedEventArgs)
Parametry
- sender
- Object
Zdroj události
A DetailsViewInsertedEventArgs , který obsahuje data události.
Příklady
Následující příklad kódu ukazuje, jak programově přidat DetailsViewInsertedEventHandler delegáta ItemInserted k události DetailsView ovládacího prvku.
<%@ 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(Object sender, EventArgs e)
{
// Create a new DetailsView object.
DetailsView customerDetailsView = new DetailsView();
// Set the DetailsView object's properties.
customerDetailsView.ID = "CustomerDetailsView";
customerDetailsView.DataSourceID = "DetailsViewSource";
customerDetailsView.AutoGenerateRows = true;
customerDetailsView.AutoGenerateInsertButton = true;
customerDetailsView.AllowPaging = true;
customerDetailsView.DataKeyNames = new String[1] { "CustomerID" };
// Programmatically register the event-handling method
// for the ItemInserted event of a DetailsView control.
customerDetailsView.ItemInserted
+= new DetailsViewInsertedEventHandler(
this.CustomerDetailsView_ItemInserted);
// Add the DetailsView object to the Controls collection
// of the PlaceHolder control.
DetailsViewPlaceHolder.Controls.Add(customerDetailsView);
}
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)
{
// 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>DetailsViewInsertedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventHandler Example</h3>
<!-- Use a PlaceHolder control as the container for the -->
<!-- dynamically generated DetailsView control. -->
<asp:PlaceHolder id="DetailsViewPlaceHolder"
runat="server"/>
<br/><br/>
<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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a new DetailsView object.
Dim customerDetailsView As New DetailsView()
' Set the DetailsView object's properties.
customerDetailsView.ID = "CustomerDetailsView"
customerDetailsView.DataSourceID = "DetailsViewSource"
customerDetailsView.AutoGenerateRows = True
customerDetailsView.AutoGenerateInsertButton = True
customerDetailsView.AllowPaging = true
Dim keyArray() As String = {"CustomerID"}
customerDetailsView.DataKeyNames = keyArray
' Programmatically register the event-handling method
' for the ItemInserted event of a DetailsView control.
AddHandler customerDetailsView.ItemInserted, _
AddressOf CustomerDetailsView_ItemInserted
' Add the DetailsView object to the Controls collection
' of the PlaceHolder control.
DetailsViewPlaceHolder.Controls.Add(customerDetailsView)
End Sub
Sub CustomerDetailsView_ItemInserted(ByVal sender As Object, _
ByVal e As DetailsViewInsertedEventArgs)
' Use the Exception property to determine whether an exception
' occurred during the insert operation.
If e.Exception Is Nothing 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>DetailsViewInsertedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventHandler Example</h3>
<!-- Use a PlaceHolder control as the container for the -->
<!-- dynamically generated DetailsView control. -->
<asp:PlaceHolder id="DetailsViewPlaceHolder"
runat="server"/>
<br/><br/>
<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>
Následující příklad kódu ukazuje, jak deklarativně přidat DetailsViewInsertedEventHandler delegáta k ItemInserted události DetailsView ovládacího prvku.
<%@ 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)
{
// 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>DetailsViewInsertedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventHandler 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 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>DetailsViewInsertedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewInsertedEventHandler 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>
Poznámky
Ovládací DetailsView prvek vyvolá ItemInserted událost při kliknutí na tlačítko Vložit (tlačítko s jeho CommandName
vlastností nastavenou na "Vložit") v ovládacím prvku, ale poté DetailsView , co ovládací prvek vloží záznam. To vám umožní poskytnout obslužnou rutinu události, která provádí vlastní rutinu, například kontrolu výsledků operace vložení, kdykoli dojde k této události.
Při vytváření delegáta DetailsViewInsertedEventHandler identifikujete metodu, která bude událost zpracovávat. Pokud chcete událost přidružit k obslužné rutině události, přidejte do události instanci delegáta. Obslužná rutina události je volána při každém výskytu události, dokud neodeberete delegáta. Další informace o delegátech obslužné rutiny událostí najdete v tématu Zpracování a vyvolávání událostí.
Metody rozšíření
GetMethodInfo(Delegate) |
Získá objekt, který představuje metodu reprezentovanou zadaným delegátem. |