LinqDataSource.Inserting イベント

定義

挿入操作の前に発生します。

C#
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceInsertEventArgs> Inserting;

イベントの種類

次の例は、挿入操作の前にデータを Inserting 変更する イベントのイベント ハンドラーを示しています。 プロパティの NewObject オブジェクトは、 という名前 Productの型にキャストされます。 DateModifiedオブジェクトの Product プロパティは、現在の日付と時刻に設定されます。

C#
protected void LinqDataSource_Inserting(object sender, LinqDataSourceInsertEventArgs e)
{
    Product product = (Product)e.NewObject;
    product.DateModified = DateTime.Now;
}

次の例は、検証例外を取得するイベントの Inserting イベント ハンドラーを示しています。

C#
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 確認します。

C#
partial void  OnAgeChanging(int? value)  
{  
    if (value < 0)  
    {  
        throw new Exception("Age cannot be a negative number.");  
    }  
}  

注釈

イベントを Inserting 処理して、挿入するオブジェクトを検証したり、データ クラスのデータ検証エラーを調べたり、挿入操作の前に値を変更したり、挿入操作をキャンセルしたりします。 LinqDataSourceInsertEventArgsこのイベントのイベント ハンドラーに渡されるオブジェクトには、データ ソースに挿入する新しいオブジェクトが含まれています。

挿入操作中に検証エラーが発生した場合、 LinqDataSourceInsertEventArgs オブジェクトには、データ クラスによってスローされる検証例外が含まれます。 挿入する値がデータ クラスのプロパティの型と一致しない場合、またはカスタム検証チェックに合格しない場合、検証エラーが発生します。 イベントのイベント ハンドラー Inserting では、検証例外を取得し、適切なアクションを実行できます。

イベントのイベント ハンドラー Inserting で例外がスローされた場合は、そのイベント ハンドラーで例外を処理する必要があります。 例外は、(オブジェクトの プロパティを介して) イベントのInsertedイベント ハンドラーにExceptionLinqDataSourceStatusEventArgs渡されません。 プロパティには Exception 、イベントの後 Inserting にスローされる例外のみが含まれます。

適用対象

製品 バージョン
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1