Control 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义由所有 ASP.NET 服务器控件共享的属性、方法和事件。
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IParserAccessor
public ref class Control : IDisposable, System::ComponentModel::IComponent, System::Web::UI::IControlBuilderAccessor, System::Web::UI::IControlDesignerAccessor, System::Web::UI::IDataBindingsAccessor, System::Web::UI::IExpressionsAccessor, System::Web::UI::IParserAccessor, System::Web::UI::IUrlResolutionService
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IParserAccessor
[System.ComponentModel.Bindable(true)]
[System.Web.UI.Themeable(false)]
public class Control : IDisposable, System.ComponentModel.IComponent, System.Web.UI.IControlBuilderAccessor, System.Web.UI.IControlDesignerAccessor, System.Web.UI.IDataBindingsAccessor, System.Web.UI.IExpressionsAccessor, System.Web.UI.IParserAccessor, System.Web.UI.IUrlResolutionService
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IDataBindingsAccessor
[<System.ComponentModel.Bindable(true)>]
[<System.Web.UI.Themeable(false)>]
type Control = class
interface IComponent
interface IDisposable
interface IParserAccessor
interface IUrlResolutionService
interface IDataBindingsAccessor
interface IControlBuilderAccessor
interface IControlDesignerAccessor
interface IExpressionsAccessor
Public Class Control
Implements IComponent, IDataBindingsAccessor, IDisposable, IParserAccessor
Public Class Control
Implements IComponent, IControlBuilderAccessor, IControlDesignerAccessor, IDataBindingsAccessor, IDisposable, IExpressionsAccessor, IParserAccessor, IUrlResolutionService
- 继承
-
Control
- 派生
- 属性
- 实现
示例
以下示例演示派生自 Control 类的自定义服务器控件。 类 InnerContent
将重写 Control.Render 方法,检查该类在页面上是否具有任何子控件,并确定控件的第一个子控件是否为文本控件。 如果这两个条件都满足,则重写的方法会将 HTML 字符串 <H2>Your Message:、文本控件的内容和结束 <的 /H2> 标记写入 Web 窗体页。
重要
此示例具有一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述。
using System;
using System.Web;
using System.Web.UI;
namespace SimpleControlSamples {
public class InnerContent : Control {
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="Execution")]
protected override void Render(HtmlTextWriter output) {
if ( (HasControls()) && (Controls[0] is LiteralControl) ) {
output.Write("<H2>Your message : ");
Controls[0].RenderControl(output);
output.Write("</H2>");
}
}
}
}
Option Explicit
Option Strict
Imports System.Web
Imports System.Web.UI
Namespace SimpleControlSamples
Public Class InnerContent
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="Execution")> _
Protected Overrides Sub Render(output As HtmlTextWriter)
If HasControls() And TypeOf Controls(0) Is LiteralControl Then
output.Write("<H2>Your message : ")
Controls(0).RenderControl(output)
output.Write("</H2>")
End If
End Sub
End Class
End Namespace 'SimpleControlSamples
注解
这是开发自定义 ASP.NET 服务器控件时派生的主类。 Control 没有任何用户界面 (UI) 特定功能。 如果要创作的控件没有 UI,或组合了呈现其自己的 UI 的其他控件,请派生自 Control。 如果要创作具有 UI 的控件,请派生自 WebControl 命名空间中 System.Web.UI.WebControls 为自定义控件提供适当起点的任何控件。
类 Control 是所有 ASP.NET 服务器控件(包括自定义控件、用户控件和页面)的基类。 ASP.NET 页是 类的 Page 实例,该类继承自 Control 类,用于处理扩展名为 .aspx 的文件的请求。
类 Control 可以直接或间接用作 Web 应用程序的用户界面的一部分,因此应仔细检查以确保遵循编写安全代码和保护应用程序的最佳做法。
有关这些主题的一般信息,请参阅 Web 应用程序安全威胁概述、 安全策略最佳做法和 关键安全概念。 有关更具体的信息,请参阅 保护标准控件、 如何:显示安全错误消息、 如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本攻击和 验证控件简介。
构造函数
Control() |
初始化 Control 类的新实例。 |
属性
Adapter |
获取控件的浏览器特定适配器。 |
AppRelativeTemplateSourceDirectory |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 |
BindingContainer |
获取包含该控件的数据绑定的控件。 |
ChildControlsCreated |
获取一个值,该值指示是否已创建服务器控件的子控件。 |
ClientID |
获取由 ASP.NET 生成的 HTML 标记的控件 ID。 |
ClientIDMode |
获取或设置用于生成 ClientID 属性值的算法。 |
ClientIDSeparator |
获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。 |
Context |
为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。 |
Controls |
获取 ControlCollection 对象,该对象表示 UI 层次结构中的指定服务器控件的子控件。 |
DataItemContainer |
如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。 |
DataKeysContainer |
如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。 |
DesignMode |
获取一个值,该值指示是否正在使用设计图面上的一个控件。 |
EnableTheming |
获取或设置一个值,该值指示主题是否应用于该控件。 |
EnableViewState |
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。 |
Events |
获取控件的事件处理程序委托列表。 此属性为只读。 |
HasChildViewState |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。 |
ID |
获取或设置分配给服务器控件的编程标识符。 |
IdSeparator |
获取用于分隔控件标识符的字符。 |
IsChildControlStateCleared |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。 |
IsTrackingViewState |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。 |
IsViewStateEnabled |
获取一个值,该值指示是否为该控件启用了视图状态。 |
LoadViewStateByID |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 |
NamingContainer |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。 |
Page |
获取对包含服务器控件的 Page 实例的引用。 |
Parent |
获取对页 UI 层次结构中服务器控件的父控件的引用。 |
RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。 |
Site |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。 |
SkinID |
获取或设置要应用于控件的外观。 |
TemplateControl |
获取或设置对包含该控件的模板的引用。 |
TemplateSourceDirectory |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。 |
UniqueID |
获取服务器控件的唯一的、以分层形式限定的标识符。 |
ValidateRequestMode |
获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。 |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 |
ViewStateMode |
获取或设置此控件的视图状态模式。 |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 |
方法
事件
DataBinding |
当服务器控件绑定到数据源时发生。 |
Disposed |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。 |
Init |
当服务器控件初始化时发生;初始化是控件生存期的第一步。 |
Load |
当服务器控件加载到 Page 对象中时发生。 |
PreRender |
在加载 Control 对象之后、呈现之前发生。 |
Unload |
当服务器控件从内存中卸载时发生。 |
显式接口实现
IControlBuilderAccessor.ControlBuilder |
有关此成员的说明,请参见 ControlBuilder。 |
IControlDesignerAccessor.GetDesignModeState() |
有关此成员的说明,请参见 GetDesignModeState()。 |
IControlDesignerAccessor.SetDesignModeState(IDictionary) |
有关此成员的说明,请参见 SetDesignModeState(IDictionary)。 |
IControlDesignerAccessor.SetOwnerControl(Control) |
有关此成员的说明,请参见 SetOwnerControl(Control)。 |
IControlDesignerAccessor.UserData |
有关此成员的说明,请参见 UserData。 |
IDataBindingsAccessor.DataBindings |
有关此成员的说明,请参见 DataBindings。 |
IDataBindingsAccessor.HasDataBindings |
有关此成员的说明,请参见 HasDataBindings。 |
IExpressionsAccessor.Expressions |
有关此成员的说明,请参见 Expressions。 |
IExpressionsAccessor.HasExpressions |
有关此成员的说明,请参见 HasExpressions。 |
IParserAccessor.AddParsedSubObject(Object) |
有关此成员的说明,请参见 AddParsedSubObject(Object)。 |
扩展方法
FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
FindFieldTemplate(Control, String) |
返回指定控件的命名容器中指定列的字段模板。 |
FindMetaTable(Control) |
返回包含数据控件的元表对象。 |