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。 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) |