DynamicValidator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
强制并捕获数据模型中引发的异常并显示错误。
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 到 SQL 类或实体中引发的异常。 该 DynamicValidator 控件与接受用户输入的控件相关联。 例如,与 DynamicValidator 接受 Products 表中 UnitsInStock 字段的用户输入的文本框关联的控件捕获并显示如果输入大于或小于数据模型中允许单位时引发的异常。
默认情况下,ASP.NET 动态数据不会显示页面中数据模型中的所有异常,因为某些数据库异常可能包含机密信息。 动态数据仅显示 ValidationException 值。 如果希望应用程序显示其他异常,可以创建控件 DynamicValidator ,提供要显示的异常,并将异常附加到控件 DynamicValidator 。 数据模型中引发的异常将显示在应用程序的所有页面中。
构造函数
| 名称 | 说明 |
|---|---|
| DynamicValidator() |
初始化 DynamicValidator 类的新实例。 |
属性
| 名称 | 说明 |
|---|---|
| AccessKey |
获取或设置访问密钥,使你能够快速导航到 Web 服务器控件。 (继承自 WebControl) |
| Adapter |
获取控件的特定于浏览器的适配器。 (继承自 Control) |
| AppRelativeTemplateSourceDirectory |
获取或设置包含此控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 (继承自 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 |
HttpContext获取与当前 Web 请求的服务器控件关联的对象。 (继承自 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 |
获取对页面控件层次结构中服务器控件的父控件的引用。 (继承自 Control) |
| PropertiesValid |
获取一个值,该值指示属性指定的 ControlToValidate 控件是否为有效的控件。 (继承自 BaseValidator) |
| RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与 ASP.NET 版本兼容。 (继承自 Control) |
| RenderUplevel |
获取一个值,该值指示客户端的浏览器是否支持“上层”呈现。 (继承自 BaseValidator) |
| SetFocusOnError |
获取或设置一个值,该值指示在验证失败时焦点是否设置为属性指定的 ControlToValidate 控件。 (继承自 BaseValidator) |
| Site |
获取有关在设计图面上呈现时承载当前控件的容器的信息。 (继承自 Control) |
| SkinID |
获取或设置要应用于控件的皮肤。 (继承自 WebControl) |
| Style |
获取文本属性的集合,该属性将在 Web 服务器控件的外部标记上呈现为样式属性。 (继承自 WebControl) |
| SupportsDisabledAttribute |
获取一个值,该值指示当控件的属性为控件的属性时,控件是否应将呈现的 |
| TabIndex |
获取或设置 Web 服务器控件的选项卡索引。 (继承自 WebControl) |
| TagKey |
获取用于呈现控件的 Label HTML 标记。 (继承自 Label) |
| TagName |
获取控件标记的名称。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
| TemplateControl |
获取或设置对包含此控件的模板的引用。 (继承自 Control) |
| TemplateSourceDirectory |
获取包含当前服务器控件的 Page 虚拟 UserControl 目录。 (继承自 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) |
方法
活动
| 名称 | 说明 |
|---|---|
| DataBinding |
当服务器控件绑定到数据源时发生。 (继承自 Control) |
| Disposed |
在从内存中释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生命周期的最后阶段。 (继承自 Control) |
| Init |
在初始化服务器控件时发生,这是其生命周期中的第一步。 (继承自 Control) |
| Load |
在将服务器控件加载到对象中 Page 时发生。 (继承自 Control) |
| PreRender |
在 Control 加载对象但在呈现之前发生。 (继承自 Control) |
| Unload |
从内存中卸载服务器控件时发生。 (继承自 Control) |
显式接口实现
扩展方法
| 名称 | 说明 |
|---|---|
| FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
| FindFieldTemplate(Control, String) |
返回指定控件命名容器中指定列的字段模板。 |
| FindMetaTable(Control) |
返回包含数据控件的元表对象。 |