DetailsViewUpdatedEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt Daten für das ItemUpdated-Ereignis bereit.
public ref class DetailsViewUpdatedEventArgs : EventArgs
public class DetailsViewUpdatedEventArgs : EventArgs
type DetailsViewUpdatedEventArgs = class
inherit EventArgs
Public Class DetailsViewUpdatedEventArgs
Inherits EventArgs
- Vererbung
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie das DetailsViewUpdatedEventArgs an den Ereignishandler übergebene -Objekt für das ItemUpdated Ereignis verwendet wird, um zu bestimmen, ob während eines Updatevorgangs eine Ausnahme aufgetreten ist.
<%@ 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_ItemUpdated(Object sender,
DetailsViewUpdatedEventArgs 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 keyFieldValue = e.Keys["CustomerID"].ToString();
// Display a confirmation message.
MessageLabel.Text = "Record " + keyFieldValue +
" updated successfully. ";
// Display the old and new values.
DisplayValues(e);
if (e.AffectedRows == 1)
{
MessageLabel.Text += e.AffectedRows.ToString() +
" record updated.";
}
else
{
MessageLabel.Text += e.AffectedRows.ToString() +
" records updated.";
}
}
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 edit mode.
e.KeepInEditMode = true;
}
}
void DisplayValues(DetailsViewUpdatedEventArgs e)
{
MessageLabel.Text += "<br/></br>";
// Iterate through the OldValue and NewValues
// properties and display the values.
for (int i = 0; i < e.OldValues.Count; i++)
{
MessageLabel.Text += "Old Value=" + e.OldValues[i].ToString() +
", New Value=" + e.NewValues[i].ToString() + "<br/>";
}
MessageLabel.Text += "</br>";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewUpdatedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
onitemupdated="CustomerDetailsView_ItemUpdated"
runat="server">
<pagersettings position="Bottom"/>
</asp:detailsview>
<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]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
Where [CustomerID]=@CustomerID"
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 CustomerDetailsView_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs)
' 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 keyFieldValue As String = e.Keys("CustomerID").ToString()
' Display a confirmation message.
MessageLabel.Text = "Record " & keyFieldValue & _
" updated successfully. "
' Display the old and new values.
DisplayValues(e)
If e.AffectedRows = 1 Then
MessageLabel.Text &= e.AffectedRows.ToString() & _
" record updated."
Else
MessageLabel.Text &= e.AffectedRows.ToString() & _
" records updated."
End If
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 edit mode.
e.KeepInEditMode = True
End If
End Sub
Sub DisplayValues(ByVal e As DetailsViewUpdatedEventArgs)
MessageLabel.Text &= "<br/></br>"
' Iterate through the OldValue and NewValues
' properties and display the values.
Dim i As Integer
For i = 0 To e.OldValues.Count - 1
MessageLabel.Text &= "Old Value=" & e.OldValues(i).ToString() & _
", New Value=" & e.NewValues(i).ToString() & "<br/>"
Next
MessageLabel.Text &= "</br>"
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewUpdatedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
onitemupdated="CustomerDetailsView_ItemUpdated"
runat="server">
<pagersettings position="Bottom"/>
</asp:detailsview>
<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]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
Hinweise
Das DetailsView -Steuerelement löst das ItemUpdated -Ereignis aus, wenn auf eine Schaltfläche Aktualisieren (eine Schaltfläche, deren CommandName
Eigenschaft auf "Aktualisieren" festgelegt ist) innerhalb des Steuerelements geklickt wird, aber nachdem das DetailsView Steuerelement den Datensatz aktualisiert hat. Auf diese Weise können Sie einen Ereignishandler bereitstellen, der eine benutzerdefinierte Routine ausführt, z. B. das Überprüfen der Ergebnisse eines Updatevorgangs, wenn dieses Ereignis auftritt.
Ein DetailsViewUpdatedEventArgs -Objekt wird an den Ereignishandler übergeben, mit dem Sie die Anzahl der betroffenen Datensätze und ggf. aufgetretene Ausnahmen ermitteln können. Verwenden Sie AffectedRows die -Eigenschaft, um die Anzahl der datensätze zu bestimmen, die vom Aktualisierungsvorgang betroffen sind. Verwenden Sie die Exception -Eigenschaft, um zu bestimmen, ob Ausnahmen aufgetreten sind. Sie können auch angeben, ob die Ausnahme im Ereignishandler behandelt wurde, indem Sie die ExceptionHandled -Eigenschaft festlegen. Wenn Sie auf die Schlüsselfeldwerte für den aktualisierten Datensatz zugreifen müssen, verwenden Sie die Keys -Eigenschaft. Die ursprünglichen und die aktualisierten nicht schlüsselbezogene Feldwerte können zugegriffen werden, mithilfe der OldValues und NewValues Eigenschaften bzw.
Standardmäßig kehrt das DetailsView Steuerelement nach einem Aktualisierungsvorgang in den von der DefaultMode -Eigenschaft angegebenen Modus zurück. Um das DetailsView Steuerelement im Bearbeitungsmodus zu behalten, legen Sie die KeepInEditMode -Eigenschaft auf fest true
.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.
Eine Liste der anfänglichen Eigenschaftenwerte für eine Instanz der DetailsViewUpdatedEventArgs-Klasse finden Sie im DetailsViewUpdatedEventArgs-Konstruktor.
Konstruktoren
DetailsViewUpdatedEventArgs(Int32, Exception) |
Initialisiert eine neue Instanz der DetailsViewUpdatedEventArgs-Klasse. |
Eigenschaften
AffectedRows |
Ruft die Anzahl der vom Aktualisierungsvorgang betroffenen Zeilen ab. |
Exception |
Ruft die Ausnahme (sofern vorhanden) ab, die während des Aktualisierungsvorgangs ausgelöst wurde. |
ExceptionHandled |
Ruft einen Wert ab, der angibt, ob während der Behandlung des Aktualisierungsvorgangs im Ereignishandler eine Ausnahme ausgelöst wurde, oder legt diesen fest. |
KeepInEditMode |
Ruft einen Wert ab, der anzeigt, ob das DetailsView-Steuerelement nach einem Aktualisierungsvorgang im Bearbeitungsmodus belassen werden soll, oder legt diesen Wert fest. |
Keys |
Ruft ein Wörterbuch ab, das die neuen Name-Wert-Paare der Schlüsselfelder für den aktualisierten Datensatz enthält. |
NewValues |
Ruft ein Wörterbuch ab, das die neuen Name-Wert-Paare der Felder für den aktualisierten Datensatz enthält. |
OldValues |
Ruft ein Wörterbuch ab, das die ursprünglichen Name-Wert-Paare der Felder für den aktualisierten Datensatz enthält. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |