LinqDataSource.Updating Událost
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í.
Nastane před operací aktualizace.
public:
event EventHandler<System::Web::UI::WebControls::LinqDataSourceUpdateEventArgs ^> ^ Updating;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs> Updating;
member this.Updating : EventHandler<System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs>
Public Custom Event Updating As EventHandler(Of LinqDataSourceUpdateEventArgs)
Event Type
Příklady
Následující příklad ukazuje obslužnou rutinu Updating události pro událost. Kód porovná vlastnosti vlastnosti OriginalObject a NewObject vlastnosti a zjistí, jestli se hodnota změnila. Pokud se hodnota změnila, hodnota NewObject vlastnosti se nastaví na true
.
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
Následující příklad ukazuje obslužnou rutinu Updating události pro událost, která načítá výjimky ověřování.
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;
}
}
Předchozí příklad načte výjimky ověřování. Pokud hodnota neodpovídá typu vlastnosti, může dojít k výjimce. Může být také vyvolán přizpůsobenou kontrolou, jako je kontrola v následujícím příkladu. Metoda OnAgeChanging
zkontroluje, že číslo vlastnosti Age
není záporné.
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
Poznámky
Updating Zpracování události k ověření objektu, který má být aktualizován, ke kontrole chyb ověření dat z datové třídy, ke změně hodnoty před operací aktualizace nebo zrušení operace aktualizace. Objekt LinqDataSourceUpdateEventArgs předaný obslužné rutině událostí obsahuje původní i aktualizovaný objekt.
Pokud dojde k chybě ověření během operace aktualizace, LinqDataSourceInsertEventArgs objekt obsahuje výjimky ověření, které jsou vyvolán datovou třídou. K chybě ověření dojde, pokud hodnota, která se má aktualizovat, neodpovídá typu vlastnosti v datové třídě nebo pokud neprojde vlastní ověřovací kontrolou. V obslužné rutině Updating události pro událost můžete načíst výjimky ověření a provést příslušnou akci.
Pokud je v obslužné rutině Updating události vyvolán výjimka, musíte tuto výjimku zpracovat v této obslužné rutině události. Výjimka nebude předána obslužné rutině události události Updated (prostřednictvím Exception vlastnosti objektu LinqDataSourceStatusEventArgs ). Vlastnost Exception obsahuje pouze výjimky, které jsou vyvolán po Updating události.