LinqDataSourceUpdateEventArgs クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Updating イベントのデータを提供します。
public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
- 継承
例
次の例は、 イベントのイベント ハンドラーを 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
。 検証例外を処理し、例外を再スローしない場合は、 プロパティを ExceptionHandled に true
設定します。
既定では、コントロールは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) |
適用対象
こちらもご覧ください
.NET