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> 您的訊息:、常值控件的內容,以及結尾 </H2> 卷標寫入網頁。
重要
這個範例有一個可接受使用者輸入的文字方塊,這可能會造成安全性威脅。 根據預設,ASP.NET Web 網頁會驗證使用者輸入未包含指令碼或 HTML 項目。 如需詳細資訊,請參閱 Script Exploits Overview (指令碼攻擊概觀)。
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 標記的控制項識別碼。 |
ClientIDMode |
取得或設定用來產生 ClientID 屬性值的演算法。 |
ClientIDSeparator |
取得字元值,表示在 ClientID 屬性中所使用的分隔字元。 |
Context |
取得與目前 Web 要求的伺服器控制項關聯的 HttpContext 物件。 |
Controls |
取得 ControlCollection 物件,表示 UI 階層架構中指定之伺服器控制項的子控制項。 |
DataItemContainer |
如果命名容器實作 IDataItemContainer,則取得命名容器的參考。 |
DataKeysContainer |
如果命名容器實作 IDataKeysControl,則取得命名容器的參考。 |
DesignMode |
取得值,指出控制項是否正用於設計介面上。 |
EnableTheming |
取得或設定值,指出佈景主題是否套用至此控制項。 |
EnableViewState |
取得或設定值,該值表示伺服器控制項是否對要求的用戶端而言保持其檢視狀態,以及它包含的任何子控制項狀態。 |
Events |
取得控制項事件處理常式委派 (Delegate) 的清單。 這個屬性是唯讀的。 |
HasChildViewState |
取得值,指出目前伺服器控制項的子控制項是否有任何已儲存的檢視狀態設定。 |
ID |
取得或設定指派給伺服器控制項的程式設計識別項。 |
IdSeparator |
取得用來分隔控制項識別項的字元。 |
IsChildControlStateCleared |
取得值,指出這個控制項中所包含的控制項是否有控制項狀態。 |
IsTrackingViewState |
取得值,指出伺服器控制項是否正在儲存檢視狀態的變更。 |
IsViewStateEnabled |
取得值,指出這個控制項是否已啟用檢視狀態。 |
LoadViewStateByID |
取得值,指出控制項是否依 ID (而不是索引) 參與載入其檢視狀態。 |
NamingContainer |
取得伺服器控制項命名容器的參考,其建立唯一命名空間,在具有相同 ID 屬性值的伺服器控制項之間作區別。 |
Page |
取得含有伺服器控制項的 Page 執行個體的參考。 |
Parent |
在網頁控制階層架構中取得伺服器控制項之父控制項的參考。 |
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) |
傳回包含資料控制項的中繼資料表物件。 |