LinqDataSource.Inserting Ereignis
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.
Tritt vor einem Einfügevorgang ein.
public:
event EventHandler<System::Web::UI::WebControls::LinqDataSourceInsertEventArgs ^> ^ Inserting;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceInsertEventArgs> Inserting;
member this.Inserting : EventHandler<System.Web.UI.WebControls.LinqDataSourceInsertEventArgs>
Public Custom Event Inserting As EventHandler(Of LinqDataSourceInsertEventArgs)
Ereignistyp
Beispiele
Das folgende Beispiel zeigt einen Ereignishandler für das Ereignis, das Inserting Daten vor dem Einfügevorgang ändert. Das Objekt aus der NewObject -Eigenschaft wird in einen Typ namens Product
umgewandelt. Die DateModified
-Eigenschaft des Product
-Objekts wird auf das aktuelle Datum und die aktuelle Uhrzeit festgelegt.
protected void LinqDataSource_Inserting(object sender, LinqDataSourceInsertEventArgs e)
{
Product product = (Product)e.NewObject;
product.DateModified = DateTime.Now;
}
Protected Sub LinqDataSource_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceInsertEventArgs)
Dim product As Product
product = CType(e.NewObject, Product)
product.DateModified = DateTime.Now
End Sub
Das folgende Beispiel zeigt einen Ereignishandler für das Ereignis, das Inserting Validierungsausnahmen abruft.
Protected Sub LinqDataSource_Inserting(ByVal sender As Object, _
ByVal e As LinqDataSourceInsertEventArgs)
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_Inserting(object sender,
LinqDataSourceInsertEventArgs 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;
}
}
Im vorherigen Beispiel werden Validierungsausnahmen abgerufen. Eine Ausnahme kann ausgelöst werden, wenn ein Wert nicht mit dem Typ der Eigenschaft übereinstimmt. Es kann auch von einer benutzerdefinierten Überprüfung wie der im folgenden Beispiel ausgelöst werden. Die OnAgeChanging
-Methode überprüft, ob die Zahl für die Age
Eigenschaft nicht negativ ist.
partial void OnAgeChanging(int? value)
{
if (value < 0)
{
throw new Exception("Age cannot be a negative number.");
}
}
Private Sub OnAgeChanging(ByVal value As System.Nullable(Of Integer))
If (value < 0) Then
Throw New Exception("Age cannot be a negative number.")
End If
End Sub
Hinweise
Behandeln Sie das Inserting -Ereignis, um das einzufügende Objekt zu überprüfen, Datenüberprüfungsfehler aus der Datenklasse zu untersuchen, einen Wert vor dem Einfügevorgang zu ändern oder den Einfügevorgang abzubrechen. Das LinqDataSourceInsertEventArgs an Ereignishandler für dieses Ereignis übergebene Objekt enthält das neue Objekt, das in die Datenquelle eingefügt werden soll.
Wenn während des Einfügevorgangs ein Validierungsfehler auftritt, enthält das LinqDataSourceInsertEventArgs Objekt die Validierungsausnahmen, die von der Datenklasse ausgelöst werden. Ein Validierungsfehler tritt auf, wenn ein einzufügener Wert nicht mit dem Typ der Eigenschaft in der Datenklasse übereinstimmt oder eine benutzerdefinierte Überprüfung nicht besteht. In einem Ereignishandler für das Inserting Ereignis können Sie die Validierungsausnahmen abrufen und entsprechende Maßnahmen ergreifen.
Wenn eine Ausnahme in einem Ereignishandler für das Inserting Ereignis ausgelöst wird, müssen Sie die Ausnahme in diesem Ereignishandler behandeln. Die Ausnahme wird nicht an einen Ereignishandler für das Inserted Ereignis übergeben (über die Exception -Eigenschaft des LinqDataSourceStatusEventArgs -Objekts). Die Exception -Eigenschaft enthält nur die Ausnahmen, die nach dem Inserting Ereignis ausgelöst werden.