次の方法で共有


LinqDataSourceUpdateEventArgs クラス

定義

Updating イベントのデータを提供します。

public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
    inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
継承
LinqDataSourceUpdateEventArgs

次の例は、 イベントのイベント ハンドラーを Updating 示しています。 この例では、 プロパティと プロパティのプロパティを OriginalObject 比較して、 NewObject プロパティの値が変更されたかどうかを判断する方法を Category 示します。 その場合、 CategoryChanged プロパティ内 NewObject の オブジェクトの プロパティは に 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

次の例は、 イベントのイベント ハンドラーを Updating 示しています。 コントロールを使用して検証例外メッセージを Label 表示します。

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;  
    }  
}  

注釈

オブジェクトは LinqDataSourceUpdateEventArgs 、イベントの任意のイベント ハンドラーに Updating 渡されます。 データ ソースで更新操作が LinqDataSourceUpdateEventArgs 実行される前に、 オブジェクトを使用してデータを調べることができます。 その後、データを検証したり、データ クラスによってスローされた検証例外を調べたり、更新前に値を変更したりできます。 更新操作を取り消すこともできます。

オブジェクトには OriginalObject 、データ ソースから最初に取得されたデータが含まれています。 オブジェクトには NewObject 、更新操作中にデータ ソースに保存されるデータが含まれます。

データ ソースを表す オブジェクトがデータを更新する前に検証例外をスローした場合、 Exception プロパティには クラスのインスタンスが LinqDataSourceValidationException 含まれます。 プロパティを使用して、すべての検証例外を InnerExceptions 取得できます。 検証例外がスローされない場合、 プロパティには が Exception 含まれます null。 検証例外を処理し、例外を再スローしない場合は、 プロパティを ExceptionHandledtrue設定します。

既定では、コントロールはLinqDataSource、属性が としてUpdateCheck.NeverマークされているものColumnAttributeを除き、データ ソースの元の値を Web ページのビューステートに格納します。 LINQ to SQLは、データを更新する前にデータの整合性を自動的にチェックします。 これは、データ ソース内の現在の値とビュー ステートに格納されている元の値を比較することによって行われます。 LINQ to SQLでは、データ ソース内の値が変更された場合に例外が発生します。 イベントのハンドラーを作成することで、追加のデータ検証を Updating 実行できます。

コンストラクター

LinqDataSourceUpdateEventArgs(LinqDataSourceValidationException)

指定した例外を使用して、LinqDataSourceUpdateEventArgs クラスの新しいインスタンスを初期化します。

LinqDataSourceUpdateEventArgs(Object, Object)

LinqDataSourceUpdateEventArgs クラスの新しいインスタンスを初期化します。

プロパティ

Cancel

イベントをキャンセルするかどうかを示す値を取得または設定します。

(継承元 CancelEventArgs)
Exception

更新操作の前に行われていたデータ検証中にスローされた例外を取得します。

ExceptionHandled

例外が既に処理済みで、再度スローする必要がないかどうかを示す値を取得または設定します。

NewObject

データ ソースに保存する値が格納されたオブジェクトを取得します。

OriginalObject

データ ソースから取得された元の値が格納されたオブジェクトを取得します。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください