LinqDataSourceUpdateEventArgs 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 Updating-Ereignis bereit.
public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
- Vererbung
Beispiele
Das folgende Beispiel zeigt einen Ereignishandler für das Updating Ereignis. Das Beispiel zeigt, wie Eigenschaften aus der OriginalObject -Eigenschaft und der NewObject -Eigenschaft verglichen werden, um festzustellen, ob sich der Wert in der Category
Eigenschaft geändert hat. Wenn dies der Grund ist, wird die CategoryChanged
-Eigenschaft des -Objekts in der NewObject -Eigenschaft auf true
festgelegt.
protected void LinqDataSource_Updating(object sender, LinqDataSourceUpdateEventArgs e)
{
Product originalProduct = (Product)e.OriginalObject;
Product newProduct = (Product)e.NewObject;
if (originalProduct.Category != newProduct.Category)
{
newProduct.CategoryChanged = true;
}
}
Protected Sub LinqDataSource_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs)
Dim originalProduct As Product
Dim newProduct As Product
originalProduct = CType(e.OriginalObject, Product)
newProduct = CType(e.NewObject, Product)
If (originalProduct.Category <> newProduct.Category) Then
newProduct.CategoryChanged = True
End If
End Sub
Das folgende Beispiel zeigt einen Ereignishandler für das Updating Ereignis. Es zeigt alle Validierungs-Ausnahmemeldungen mithilfe eines -Steuerelements Label an.
Protected Sub LinqDataSource_Updating(ByVal sender As Object, _
ByVal e As LinqDataSourceUpdateEventArgs)
If (e.Exception IsNot Nothing) Then
For Each innerException As KeyValuePair(Of String, Exception) _
In e.Exception.InnerExceptions
Label1.Text &= innerException.Key & ": " & _
innerException.Value.Message & "<br />"
Next
e.ExceptionHandled = True
End If
End Sub
protected void LinqDataSource_Updating(object sender,
LinqDataSourceUpdateEventArgs e)
{
if (e.Exception != null)
{
foreach (KeyValuePair<string, Exception> innerException in
e.Exception.InnerExceptions)
{
Label1.Text += innerException.Key + ": " +
innerException.Value.Message + "<br />";
}
e.ExceptionHandled = true;
}
}
Hinweise
Das LinqDataSourceUpdateEventArgs -Objekt wird an einen beliebigen Ereignishandler für das Updating Ereignis übergeben. Sie können das LinqDataSourceUpdateEventArgs -Objekt verwenden, um die Daten zu untersuchen, bevor der Aktualisierungsvorgang in der Datenquelle ausgeführt wird. Anschließend können Sie die Daten überprüfen, von der Datenklasse ausgelöste Validierungsausnahmen untersuchen oder einen Wert vor dem Update ändern. Sie können den Updatevorgang auch abbrechen.
Das OriginalObject -Objekt enthält die Daten, die ursprünglich aus der Datenquelle abgerufen wurden. Das NewObject -Objekt enthält die Daten, die während des Aktualisierungsvorgangs in der Datenquelle gespeichert werden.
Wenn das Objekt, das die Datenquelle darstellt, vor dem Aktualisieren der Daten eine Validierungs-Ausnahme auslöst, enthält die Exception -Eigenschaft einen instance der LinqDataSourceValidationException -Klasse. Sie können alle Validierungsausnahmen über die InnerExceptions -Eigenschaft abrufen. Wenn keine Validierungs-Ausnahme ausgelöst wird, enthält null
die Exception -Eigenschaft . Wenn Sie die Validierungsausnahmen behandeln und die Ausnahme nicht erneut ausgelöst werden soll, legen Sie die ExceptionHandled -Eigenschaft auf fest true
.
Standardmäßig speichert das LinqDataSource Steuerelement die ursprünglichen Werte aus der Datenquelle im Ansichtszustand auf der Webseite, mit Ausnahme der Werte, deren ColumnAttribute Attribut als UpdateCheck.Never
gekennzeichnet ist. LINQ to SQL überprüft automatisch die Integrität der Daten, bevor die Daten aktualisiert werden. Dazu werden die aktuellen Werte in der Datenquelle mit den ursprünglichen Werten verglichen, die im Ansichtszustand gespeichert sind. LINQ to SQL löst eine Ausnahme aus, wenn sich die Werte in der Datenquelle geändert haben. Sie können eine zusätzliche Datenüberprüfung durchführen, indem Sie einen Handler für das Updating Ereignis erstellen.
Konstruktoren
LinqDataSourceUpdateEventArgs(LinqDataSourceValidationException) |
Initialisiert eine neue Instanz der LinqDataSourceUpdateEventArgs-Klasse mit der angegebenen Ausnahme. |
LinqDataSourceUpdateEventArgs(Object, Object) |
Initialisiert eine neue Instanz der LinqDataSourceUpdateEventArgs-Klasse. |
Eigenschaften
Cancel |
Ruft einen Wert ab, der angibt, ob das Ereignis abgebrochen werden soll, oder legt diesen fest. (Geerbt von CancelEventArgs) |
Exception |
Ruft die Ausnahme ab, die ausgelöst wurde, während die Daten vor dem Aktualisierungsvorgang validiert wurden. |
ExceptionHandled |
Ruft einen Wert ab, der angibt, ob die Ausnahme behandelt wurde und dass diese nicht erneut ausgelöst werden soll, oder legt diesen fest. |
NewObject |
Ruft das Objekt ab, das die Werte enthält, die in der Datenquelle gespeichert werden. |
OriginalObject |
Ruft das Objekt mit den Werten ab, die ursprünglich von der Datenquelle abgerufen wurden. |
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) |