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ává vlastnosti z OriginalObject vlastnosti a NewObject vlastnosti a zjistí, zda se hodnota změnila. Pokud se hodnota změnila, je hodnota NewObject vlastnosti nastavena na truehodnotu .
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ěření.
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ěření. Výjimku může vyvolat, pokud hodnota neodpovídá typu vlastnosti. Může se také vyvolat z přizpůsobené kontroly, jako je ta v následujícím příkladu. Metoda OnAgeChanging zkontroluje, zda čí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ý se má aktualizovat, k prozkoumání 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 během operace aktualizace dojde k chybě ověření, LinqDataSourceInsertEventArgs objekt obsahuje výjimky ověření, které jsou vyvolány datovou třídou. K chybě ověření dojde v případě, že hodnota, která se má aktualizovat, neodpovídá typu vlastnosti v datové třídě nebo pokud neprojde vlastní ověřovací kontrolou. V obslužné rutině události události Updating můžete načíst výjimky ověření a provést odpovídající akci.
Pokud je v obslužné rutině události pro Updating událost vyvolán výjimka, musíte zpracovat výjimku v této obslužné rutině události. Výjimka se nepředá obslužné rutině události pro Updated událost (prostřednictvím Exception vlastnosti objektu LinqDataSourceStatusEventArgs ). Vlastnost Exception obsahuje pouze výjimky, které jsou vyvolány po Updating události.