LinqDataSource.Inserting Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит перед операцией вставки.
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)
Тип события
Примеры
В следующем примере показан обработчик событий для Inserting события, который изменяет данные перед операцией вставки. Объект из NewObject свойства приводится к типу с именем Product. Свойство DateModifiedProduct объекта имеет текущее значение даты и времени.
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
В следующем примере показан обработчик событий для Inserting события, извлекающего исключения проверки.
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;
}
}
В предыдущем примере извлекаются исключения проверки. Исключение может возникать, если значение не соответствует типу свойства. Его также можно создать из настраиваемой проверки, например в следующем примере. Метод OnAgeChanging проверяет, что число свойства Age не является отрицательным.
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
Комментарии
Inserting Обработайте событие для проверки вставки объекта, чтобы проверить ошибки проверки данных из класса данных, изменить значение перед операцией вставки или отменить операцию вставки. Объект, LinqDataSourceInsertEventArgs переданный обработчикам событий для этого события, содержит новый объект для вставки в источник данных.
Если во время операции вставки возникает ошибка проверки, LinqDataSourceInsertEventArgs объект содержит исключения проверки, создаваемые классом данных. Ошибка проверки возникает, если вставленное значение не соответствует типу свойства в классе данных или если он не проходит настраиваемую проверку проверки. В обработчике событий для Inserting события можно получить исключения проверки и выполнить соответствующее действие.
Если исключение создается в обработчике событий для Inserting события, необходимо обработать исключение в обработчике событий. Исключение не будет передано обработчику событий для Inserted события (через Exception свойство LinqDataSourceStatusEventArgs объекта). Свойство Exception содержит только исключения, которые возникают после Inserting события.