LinqDataSource.Inserting 이벤트
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
삽입 작업 전에 발생합니다.
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
합니다.
DateModified
의 속성을 Product
개체가 현재 날짜 및 시간으로 설정 된 합니다.
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;
}
}
이전 예제에서는 유효성 검사 예외를 검색합니다. 값이 속성의 형식과 일치하지 않는 경우 예외가 throw될 수 있습니다. 다음 예제와 같은 사용자 지정된 검사 throw될 수도 있습니다. 메서드는 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 데이터 클래스에서 throw된 유효성 검사 예외가 포함됩니다. 삽입할 값이 데이터 클래스의 속성 형식과 일치하지 않거나 사용자 지정 유효성 검사 검사 전달하지 않으면 유효성 검사 오류가 발생합니다. 이벤트에 대한 Inserting 이벤트 처리기에서 유효성 검사 예외를 검색하고 적절한 작업을 수행할 수 있습니다.
이벤트에 대한 이벤트 처리기에서 예외가 Inserting throw되는 경우 해당 이벤트 처리기에서 예외를 처리해야 합니다. 예외는 개체의 LinqDataSourceStatusEventArgs 속성을 통해 Exception 이벤트에 대한 Inserted 이벤트 처리기에 전달되지 않습니다. 속성에는 Exception 이벤트 후에 Inserting throw되는 예외만 포함됩니다.
적용 대상
.NET