DynamicValidator 类

定义

强制执行和捕获在数据模型中引发的异常并显示错误。

public ref class DynamicValidator : System::Web::UI::WebControls::BaseValidator
[System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicValidator), "DynamicValidator.ico")]
public class DynamicValidator : System.Web.UI.WebControls.BaseValidator
[System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicValidator), "DynamicValidator.bmp")]
public class DynamicValidator : System.Web.UI.WebControls.BaseValidator
[<System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicValidator), "DynamicValidator.ico")>]
type DynamicValidator = class
    inherit BaseValidator
[<System.Drawing.ToolboxBitmap(typeof(System.Web.DynamicData.DynamicValidator), "DynamicValidator.bmp")>]
type DynamicValidator = class
    inherit BaseValidator
Public Class DynamicValidator
Inherits BaseValidator
继承
属性

示例

以下示例演示如何创建一个 DynamicValidator 控件类,该控件类在所有页面中显示其他异常。

''' <summary>   
''' Display other exceptions in all pages.   
''' </summary>   
Public Class MyDynamicValidator   
    Inherits DynamicValidator   

    Protected Overloads Overrides Sub ValidateException(ByVal exception As Exception)   
        ' If it's not an exception that DynamicValidator displays find   
        ' the innermost exception.   
        If Not (TypeOf exception Is IDynamicValidatorException) AndAlso _  
                Not (TypeOf exception Is ValidationException) Then   
            While exception.InnerException IsNot Nothing   
                exception = exception.InnerException   
            End While   

            ' Wrap it in a ValidationException so that the base code   
            ' does not ignore it.   
            If ExceptionShouldBeDisplayedInPage(exception) Then   
                exception = New ValidationException(Nothing, exception)   
            End If   
        End If   

        ' Call the base class for the exception that is modified.  
        MyBase.ValidateException(exception)   
    End Sub   

    Private Function ExceptionShouldBeDisplayedInPage(ByVal e As Exception) _  
            As Boolean   
        ' Add code to find the exception and   
        ' decide whether it should be shown in the page.  

        Return True   
    End Function   
End Class  
/// <summary>  
/// Display other exceptions in all pages.   
/// </summary>  
public class MyDynamicValidator : DynamicValidator {  

    protected override void ValidateException(Exception exception) {  
        // If it's not an exception that DynamicValidator displays find   
        // the innermost exception.  
        if (!(exception is IDynamicValidatorException) && !(exception   
              is ValidationException)) {  
            while (exception.InnerException != null) {  
                exception = exception.InnerException;  
            }  

            // Wrap it in a ValidationException so that the base code   
            // does not ignore it.  
            if (ExceptionShouldBeDisplayedInPage(exception)) {  
                exception = new ValidationException(null, exception);  
            }  
        }  

        // Call the base class on the exception that is modified.  
        base.ValidateException(exception);  
    }  

    private bool ExceptionShouldBeDisplayedInPage(Exception e) {  
        // Add your code to find the exception and  
        // decides whether it should be shown in the page.  

           return true;  
    }  
}  

以下示例演示如何使用 web.config 文件中的标记重新映射在所有网页中显示异常。

<pages>  
  <tagMapping>  
    <add tagType="System.Web.DynamicData.DynamicValidator"   
        mappedTagType="MyDynamicValidator"/>  
  </tagMapping>  
</pages>  

注解

控件 DynamicValidator 可用于数据字段或数据实体。 它捕获数据模型中扩展性方法的 LINQ to-SQL 类或实体中引发的异常。 控件 DynamicValidator 与接受用户输入的控件相关联。 例如, DynamicValidator 与接受 Products 表中 UnitsInStock 字段的用户输入的文本框关联的控件捕获并显示如果输入大于或小于数据模型中允许的单位时引发的异常。

默认情况下,ASP.NET 动态数据不会在页面中显示数据模型的所有异常,因为某些数据库异常可能包含机密信息。 动态数据仅显示 ValidationException 值。 如果希望应用程序显示其他异常,可以创建控件 DynamicValidator ,提供要显示的异常,并将异常附加到控件 DynamicValidator 。 数据模型中引发的异常将显示在应用程序的所有页面中。

构造函数

DynamicValidator()

初始化 DynamicValidator 类的新实例。

属性

AccessKey

获取或设置使您得以快速导航到 Web 服务器控件的访问键。

(继承自 WebControl)
Adapter

获取控件的浏览器特定适配器。

(继承自 Control)
AppRelativeTemplateSourceDirectory

获取或设置包含该控件的 PageUserControl 对象的应用程序相对虚拟目录。

(继承自 Control)
AssociatedControlID

不支持此属性。

(继承自 BaseValidator)
Attributes

获取与控件的特性不对应的任意特性(只用于呈现)的集合。

(继承自 WebControl)
BackColor

获取或设置 Web 服务器控件的背景色。

(继承自 WebControl)
BindingContainer

获取包含该控件的数据绑定的控件。

(继承自 Control)
BorderColor

获取或设置 Web 控件的边框颜色。

(继承自 WebControl)
BorderStyle

获取或设置 Web 服务器控件的边框样式。

(继承自 WebControl)
BorderWidth

获取或设置 Web 服务器控件的边框宽度。

(继承自 WebControl)
ChildControlsCreated

获取一个值,该值指示是否已创建服务器控件的子控件。

(继承自 Control)
ClientID

获取由 ASP.NET 生成的 HTML 标记的控件 ID。

(继承自 Control)
ClientIDMode

获取或设置用于生成 ClientID 属性值的算法。

(继承自 Control)
ClientIDSeparator

获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。

(继承自 Control)
Column

获取或设置要验证的列。

ColumnName

获取要验证的列的名称。

Context

为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。

(继承自 Control)
Controls

获取 ControlCollection 对象,该对象表示 UI 层次结构中的指定服务器控件的子控件。

(继承自 Control)
ControlStyle

获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。

(继承自 WebControl)
ControlStyleCreated

获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。

(继承自 WebControl)
ControlToValidate

获取或设置要验证的输入控件。

(继承自 BaseValidator)
CssClass

获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。

(继承自 WebControl)
DataItemContainer

如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。

(继承自 Control)
DataKeysContainer

如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。

(继承自 Control)
DesignMode

获取一个值,该值指示是否正在使用设计图面上的一个控件。

(继承自 Control)
Display

获取或设置验证控件中错误消息的显示行为。

(继承自 BaseValidator)
EnableClientScript

获取或设置一个值,该值指示是否启用客户端验证。

(继承自 BaseValidator)
Enabled

获取或设置一个值,该值指示是否启用验证控件。

(继承自 BaseValidator)
EnableTheming

获取或设置一个值,该值指示主题是否应用于该控件。

(继承自 WebControl)
EnableViewState

获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。

(继承自 Control)
ErrorMessage

获取或设置验证失败时 ValidationSummary 控件中显示的错误消息的文本。

(继承自 BaseValidator)
Events

获取控件的事件处理程序委托列表。 此属性为只读。

(继承自 Control)
Font

获取与 Web 服务器控件关联的字体属性。

(继承自 WebControl)
ForeColor

获取或设置验证失败后显示的消息的颜色。

(继承自 BaseValidator)
HasAttributes

获取一个值,该值指示控件是否具有特性集。

(继承自 WebControl)
HasChildViewState

获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。

(继承自 Control)
Height

获取或设置 Web 服务器控件的高度。

(继承自 WebControl)
ID

获取或设置分配给服务器控件的编程标识符。

(继承自 Control)
IdSeparator

获取用于分隔控件标识符的字符。

(继承自 Control)
IsChildControlStateCleared

获取一个值,该值指示该控件中包含的控件是否具有控件状态。

(继承自 Control)
IsEnabled

获取一个值,该值指示是否启用控件。

(继承自 WebControl)
IsTrackingViewState

获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。

(继承自 Control)
IsUnobtrusive

获取一个值,该值指示控件是否生成非介入式 JavaScript。

(继承自 BaseValidator)
IsValid

获取或设置一个值,该值指示关联的输入控件是否通过验证。

(继承自 BaseValidator)
IsViewStateEnabled

获取一个值,该值指示是否为该控件启用了视图状态。

(继承自 Control)
LoadViewStateByID

获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。

(继承自 Control)
NamingContainer

获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。

(继承自 Control)
Page

获取对包含服务器控件的 Page 实例的引用。

(继承自 Control)
Parent

获取对页 UI 层次结构中服务器控件的父控件的引用。

(继承自 Control)
PropertiesValid

获取一个值,该值指示由 ControlToValidate 属性指定的控件是否是有效的控件。

(继承自 BaseValidator)
RenderingCompatibility

获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。

(继承自 Control)
RenderUplevel

获取一个值,该值指示客户端的浏览器是否支持“上一级”呈现。

(继承自 BaseValidator)
SetFocusOnError

获取或设置一个值,该值指示在验证失败时是否将焦点设置到 ControlToValidate 属性指定的控件上。

(继承自 BaseValidator)
Site

获取容器信息,该容器在呈现于设计图面上时承载当前控件。

(继承自 Control)
SkinID

获取或设置要应用于控件的外观。

(继承自 WebControl)
Style

获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。

(继承自 WebControl)
SupportsDisabledAttribute

获取一个值,该值指示在控件的 disabled 属性为 IsEnabled 时,控件是否应将呈现的 HTML 元素的 false 特性设置为 "disabled"。

(继承自 Label)
TabIndex

获取或设置 Web 服务器控件的选项卡索引。

(继承自 WebControl)
TagKey

获取用于呈现 Label 控件的 HTML 标记。

(继承自 Label)
TagName

获取控件标记的名称。 此属性主要由控件开发人员使用。

(继承自 WebControl)
TemplateControl

获取或设置对包含该控件的模板的引用。

(继承自 Control)
TemplateSourceDirectory

获取包含当前服务器控件的 PageUserControl 的虚拟目录。

(继承自 Control)
Text

获取或设置验证失败时验证控件中显示的文本。

(继承自 BaseValidator)
ToolTip

获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。

(继承自 WebControl)
UniqueID

获取服务器控件的唯一的、以分层形式限定的标识符。

(继承自 Control)
ValidateRequestMode

获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。

(继承自 Control)
ValidationException

获取或设置验证期间出现的验证异常。

ValidationGroup

获取或设置此验证控件所属的验证组的名称。

(继承自 BaseValidator)
ViewState

获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。

(继承自 Control)
ViewStateIgnoresCase

获取一个值,该值指示 StateBag 对象是否不区分大小写。

(继承自 Control)
ViewStateMode

获取或设置此控件的视图状态模式。

(继承自 Control)
Visible

获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。

(继承自 Control)
Width

获取或设置 Web 服务器控件的宽度。

(继承自 WebControl)

方法

AddAttributesToRender(HtmlTextWriter)

将需要为控件呈现的 HTML 特性和样式添加到指定的 HtmlTextWriter 对象。

(继承自 BaseValidator)
AddedControl(Control, Int32)

在子控件添加到 Control 对象的 Controls 集合后调用。

(继承自 Control)
AddParsedSubObject(Object)

通知控件某元素已经过分析,并将该元素添加到 Label 控件。

(继承自 Label)
ApplyStyle(Style)

将指定样式的所有非空白元素复制到 Web 控件,覆盖控件的所有现有的样式元素。 此方法主要由控件开发人员使用。

(继承自 WebControl)
ApplyStyleSheetSkin(Page)

将页样式表中定义的样式属性应用到控件。

(继承自 Control)
BeginRenderTracing(TextWriter, Object)

开始输出数据的设计时追踪。

(继承自 Control)
BuildProfileTree(String, Boolean)

收集有关服务器控件的信息并将该信息发送到 Trace 属性,在启用页的跟踪功能时将显示该属性。

(继承自 Control)
CheckControlValidationProperty(String, String)

验证指定的控件是否在页面上并且是否包含验证属性。

(继承自 BaseValidator)
ClearCachedClientID()

将缓存的 ClientID 值设置为 null

(继承自 Control)
ClearChildControlState()

删除服务器控件的子控件的控件状态信息。

(继承自 Control)
ClearChildState()

删除服务器控件的所有子控件的视图状态和控件状态信息。

(继承自 Control)
ClearChildViewState()

删除服务器控件的所有子控件的视图状态信息。

(继承自 Control)
ClearEffectiveClientIDMode()

将当前控件实例和任何子控件的 ClientIDMode 属性设置为 Inherit

(继承自 Control)
ControlPropertiesValid()

指示指定的 DynamicValidator 控件的属性是否有效。

CopyBaseAttributes(WebControl)

Style 对象未封装的属性从指定的 Web 服务器控件复制到从中调用此方法的 Web 服务器控件。 此方法主要由控件开发人员使用。

(继承自 WebControl)
CreateChildControls()

由 ASP.NET 页框架调用,以通知服务器控件在准备回发或呈现时使用基于撰写的实现来创建其所包含任何子控件。

(继承自 Control)
CreateControlCollection()

创建一个新 ControlCollection 对象来保存服务器控件的子控件(包括文本控件和服务器控件)。

(继承自 Control)
CreateControlStyle()

创建由 WebControl 类在内部用来实现所有与样式有关的属性的样式对象。 此方法主要由控件开发人员使用。

(继承自 WebControl)
DataBind()

将数据源绑定到调用的服务器控件及其所有子控件。

(继承自 Control)
DataBind(Boolean)

将数据源绑定到调用的服务器控件及其所有子控件,同时可以选择引发 DataBinding 事件。

(继承自 Control)
DataBindChildren()

将数据源绑定到服务器控件的子控件。

(继承自 Control)
DetermineRenderUplevel()

确定验证控件是否可执行客户端验证。

(继承自 BaseValidator)
Dispose()

使服务器控件得以在从内存中释放之前执行最后的清理操作。

(继承自 Control)
EndRenderTracing(TextWriter, Object)

结束输出数据的设计时追踪。

(继承自 Control)
EnsureChildControls()

确定服务器控件是否包含子控件。 如果不包含,则创建子控件。

(继承自 Control)
EnsureID()

为尚未分配标识符的控件创建标识符。

(继承自 Control)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
EvaluateIsValid()

确定要验证的输入控件中的值是否有效。

FindControl(String)

在当前的命名容器中搜索带指定 id 参数的服务器控件。

(继承自 Control)
FindControl(String, Int32)

使用指定的 idpathOffset 参数(该参数有助于搜索)中指定的整数在当前命名容器中搜索服务器控件。 不应重写此版本的 FindControl 方法。

(继承自 Control)
Focus()

为控件设置输入焦点。

(继承自 Control)
GetControlRenderID(String)

获取指定控件的客户端 ID。

(继承自 BaseValidator)
GetControlValidationValue(String)

获取与指定输入控件关联的值。

(继承自 BaseValidator)
GetDesignModeState()

获取控件的设计时数据。

(继承自 Control)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetRouteUrl(Object)

获取与一组路由参数对应的 URL。

(继承自 Control)
GetRouteUrl(RouteValueDictionary)

获取与一组路由参数对应的 URL。

(继承自 Control)
GetRouteUrl(String, Object)

获取与一组路由参数以及某个路由名称对应的 URL。

(继承自 Control)
GetRouteUrl(String, RouteValueDictionary)

获取与一组路由参数以及某个路由名称对应的 URL。

(继承自 Control)
GetType()

获取当前实例的 Type

(继承自 Object)
GetUniqueIDRelativeTo(Control)

返回指定控件的 UniqueID 属性的前缀部分。

(继承自 Control)
HasControls()

确定服务器控件是否包含任何子控件。

(继承自 Control)
HasEvents()

返回一个值,该值指示是否为控件或任何子控件注册事件。

(继承自 Control)
IsLiteralContent()

确定服务器控件是否只包含文字内容。

(继承自 Control)
LoadControlState(Object)

SaveControlState() 方法保存的上一个页请求还原控件状态信息。

(继承自 Control)
LoadViewState(Object)

加载以前保存的控件的状态。

(继承自 Label)
MapPathSecure(String)

检索虚拟路径(绝对的或相对的)映射到的物理路径。

(继承自 Control)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MergeStyle(Style)

将指定样式的所有非空白元素复制到 Web 控件,但不覆盖该控件现有的任何样式元素。 此方法主要由控件开发人员使用。

(继承自 WebControl)
OnBubbleEvent(Object, EventArgs)

确定服务器控件的事件是否沿页的 UI 服务器控件层次结构向上传递。

(继承自 Control)
OnDataBinding(EventArgs)

引发 DataBinding 事件。

(继承自 Control)
OnInit(EventArgs)

引发要初始化 Init 控件的 DynamicValidator 事件。

OnLoad(EventArgs)

引发 Load 事件。

(继承自 Control)
OnPreRender(EventArgs)

引发 PreRender 事件。

(继承自 BaseValidator)
OnUnload(EventArgs)

引发 Unload 事件。

(继承自 BaseValidator)
OpenFile(String)

获取用于读取文件的 Stream

(继承自 Control)
RaiseBubbleEvent(Object, EventArgs)

将所有事件源及其信息分配给控件的父级。

(继承自 Control)
RegisterValidatorCommonScript()

在页面上注册用于客户端验证的代码。

(继承自 BaseValidator)
RegisterValidatorDeclaration()

使用数组名 Page_Validators 注册 ECMAScript 数组声明。

(继承自 BaseValidator)
RemovedControl(Control)

Control 对象的 Controls 集合移除子控件后调用。

(继承自 Control)
Render(HtmlTextWriter)

在客户端上显示控件。

(继承自 BaseValidator)
RenderBeginTag(HtmlTextWriter)

将控件的 HTML 开始标记呈现到指定的编写器中。 此方法主要由控件开发人员使用。

(继承自 WebControl)
RenderChildren(HtmlTextWriter)

将服务器控件子级的内容输出到提供的 HtmlTextWriter 对象,该对象可写入要在客户端上呈现的内容。

(继承自 Control)
RenderContents(HtmlTextWriter)

Label 的内容呈现到指定的编写器中。

(继承自 Label)
RenderControl(HtmlTextWriter)

将服务器控件内容输出到所提供的 HtmlTextWriter 对象,如果启用了跟踪,则还将存储有关该控件的跟踪信息。

(继承自 Control)
RenderControl(HtmlTextWriter, ControlAdapter)

使用提供的 HtmlTextWriter 对象将服务器控件内容输出到提供的 ControlAdapter 对象。

(继承自 Control)
RenderEndTag(HtmlTextWriter)

将控件的 HTML 结束标记呈现到指定的编写器中。 此方法主要由控件开发人员使用。

(继承自 WebControl)
ResolveAdapter()

获取负责呈现指定控件的控件适配器。

(继承自 Control)
ResolveClientUrl(String)

获取浏览器可以使用的 URL。

(继承自 Control)
ResolveUrl(String)

将 URL 转换为在请求客户端可用的 URL。

(继承自 Control)
SaveControlState()

保存将页面回发到服务器之后发生的所有服务器控件状态更改。

(继承自 Control)
SaveViewState()

保存调用 TrackViewState() 方法后修改的任何状态。

(继承自 WebControl)
SetDesignModeState(IDictionary)

为控件设置设计时数据。

(继承自 Control)
SetRenderMethodDelegate(RenderMethod)

分配事件处理程序委托,以将服务器控件及其内容呈现到父控件中。

(继承自 Control)
SetTraceData(Object, Object)

使用跟踪数据键和跟踪数据值,为呈现数据的设计时追踪设置跟踪数据。

(继承自 Control)
SetTraceData(Object, Object, Object)

使用跟踪对象、跟踪数据键和跟踪数据值,为呈现数据的设计时追踪设置跟踪数据。

(继承自 Control)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrackViewState()

使控件跟踪其视图状态的更改,以便将这些更改存储在对象的 ViewState 属性中。

(继承自 WebControl)
Validate()

对关联的输入控件执行验证并更新 IsValid 属性。

(继承自 BaseValidator)
ValidateException(Exception)

如果数据模型中发生异常,则设置验证异常。

事件

DataBinding

当服务器控件绑定到数据源时发生。

(继承自 Control)
Disposed

当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。

(继承自 Control)
Init

当服务器控件初始化时发生;初始化是控件生存期的第一步。

(继承自 Control)
Load

当服务器控件加载到 Page 对象中时发生。

(继承自 Control)
PreRender

在加载 Control 对象之后、呈现之前发生。

(继承自 Control)
Unload

当服务器控件从内存中卸载时发生。

(继承自 Control)

显式接口实现

IAttributeAccessor.GetAttribute(String)

获取具有指定名称的 Web 控件的特性。

(继承自 WebControl)
IAttributeAccessor.SetAttribute(String, String)

将 Web 控件的特性设置为指定的名称和值。

(继承自 WebControl)
IControlBuilderAccessor.ControlBuilder

有关此成员的说明,请参见 ControlBuilder

(继承自 Control)
IControlDesignerAccessor.GetDesignModeState()

有关此成员的说明,请参见 GetDesignModeState()

(继承自 Control)
IControlDesignerAccessor.SetDesignModeState(IDictionary)

有关此成员的说明,请参见 SetDesignModeState(IDictionary)

(继承自 Control)
IControlDesignerAccessor.SetOwnerControl(Control)

有关此成员的说明,请参见 SetOwnerControl(Control)

(继承自 Control)
IControlDesignerAccessor.UserData

有关此成员的说明,请参见 UserData

(继承自 Control)
IDataBindingsAccessor.DataBindings

有关此成员的说明,请参见 DataBindings

(继承自 Control)
IDataBindingsAccessor.HasDataBindings

有关此成员的说明,请参见 HasDataBindings

(继承自 Control)
IExpressionsAccessor.Expressions

有关此成员的说明,请参见 Expressions

(继承自 Control)
IExpressionsAccessor.HasExpressions

有关此成员的说明,请参见 HasExpressions

(继承自 Control)
IParserAccessor.AddParsedSubObject(Object)

有关此成员的说明,请参见 AddParsedSubObject(Object)

(继承自 Control)

扩展方法

FindDataSourceControl(Control)

返回与指定控件的数据控件关联的数据源。

FindFieldTemplate(Control, String)

返回指定控件的命名容器中指定列的字段模板。

FindMetaTable(Control)

返回包含数据控件的元表对象。

适用于