ObjectDataSourceDesigner 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在視覺化設計工具中,為 ObjectDataSource Web 伺服器控制項提供設計階段支援。
public ref class ObjectDataSourceDesigner : System::Web::UI::Design::DataSourceDesigner
public class ObjectDataSourceDesigner : System.Web.UI.Design.DataSourceDesigner
type ObjectDataSourceDesigner = class
inherit DataSourceDesigner
Public Class ObjectDataSourceDesigner
Inherits DataSourceDesigner
- 繼承
-
ObjectDataSourceDesigner
範例
下列程式代碼範例示範如何擴充 ObjectDataSourceDesigner 類別,以變更在設計時間衍生自 ObjectDataSource 控件的外觀和行為。
此範例會 MyObjectDataSource
從 ObjectDataSource衍生控件。
MyObjectDataSource
是控件的ObjectDataSource複本。 此範例也會從衍生 MyObjectDataSourceDesigner
類別,ObjectDataSourceDesigner並套MyObjectDataSourceDesigner
用 DesignerAttribute 控件上的 MyObjectDataSource
屬性。
會 MyObjectDataSourceDesigner
覆寫 PreFilterProperties 方法,讓 NamingContainer 屬性在設計時間顯示在 [屬性 ] 方格中。
會 MyObjectDataSourceDesigner
覆寫 方法, GetDesignTimeHtml 除了控件類型和標識符之外,還會在佔位元元中顯示 TypeName 和 SelectMethod 屬性。
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;
namespace Examples.CS.WebControls.Design
{
// The MyObjectDataSource is a copy of the ObjectDataSource.
[AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal)]
[Designer(typeof(Examples.CS.WebControls.Design.
MyObjectDataSourceDesigner))]
public class MyObjectDataSource : ObjectDataSource
{
} // MyObjectDataSource
// Derive a designer that inherits from the ObjectDataSourceDesigner.
[ReflectionPermission(SecurityAction.Demand, Flags=ReflectionPermissionFlag.MemberAccess)]
public class MyObjectDataSourceDesigner : ObjectDataSourceDesigner
{
// Generate the design-time markup.
public override string GetDesignTimeHtml()
{
// Get a reference to the control or a copy of the control.
MyObjectDataSource myODS = (MyObjectDataSource)ViewControl;
// Create a placeholder that displays the type of the business
// object and the name of the Select method.
string markup = CreatePlaceHolderDesignTimeHtml(
"<b>TypeName</b> \"" + myODS.TypeName + "\"<br />" +
"<b>SelectMethod</b> \"" + myODS.SelectMethod + "\"" );
return markup;
} // GetDesignTimeHtml
// Shadow the control properties with design-time properties.
protected override void PreFilterProperties(IDictionary properties)
{
// Call the base method first.
base.PreFilterProperties(properties);
// Make the NamingContainer visible in the Properties grid.
PropertyDescriptor selectProp =
(PropertyDescriptor)properties["NamingContainer"];
properties["NamingContainer"] =
TypeDescriptor.CreateProperty(selectProp.ComponentType,
selectProp, BrowsableAttribute.Yes);
} // PreFilterProperties
} // MyObjectDataSourceDesigner
} // Examples.CS.WebControls.Design
Imports System.Web
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design.WebControls
Imports System.Collections
Imports System.ComponentModel
Imports System.Security.Permissions
Namespace Examples.VB.WebControls.Design
' The MyObjectDataSource is a copy of the ObjectDataSource.
<AspNetHostingPermission(SecurityAction.Demand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<AspNetHostingPermission(SecurityAction.InheritanceDemand, _
Level:=AspNetHostingPermissionLevel.Minimal)> _
<Designer(GetType(Examples.VB.WebControls.Design. _
MyObjectDataSourceDesigner))> _
Public Class MyObjectDataSource
Inherits ObjectDataSource
End Class
' Derive a designer that inherits from the ObjectDataSourceDesigner.
<ReflectionPermission(SecurityAction.Demand, Flags:=ReflectionPermissionFlag.MemberAccess)> _
Public Class MyObjectDataSourceDesigner
Inherits ObjectDataSourceDesigner
' Generate the design-time markup.
Public Overrides Function GetDesignTimeHtml() As String
' Get a reference to the control or a copy of the control.
Dim myODS As MyObjectDataSource = _
CType(ViewControl, MyObjectDataSource)
Dim markup As String = _
CreatePlaceHolderDesignTimeHtml( _
"<b>TypeName</b> """ & myODS.TypeName & """<br />" & _
"<b>SelectMethod</b> """ & myODS.SelectMethod & """")
Return markup
End Function ' GetDesignTimeHtml
' Shadow the control properties with design-time properties.
Protected Overrides Sub PreFilterProperties( _
ByVal properties As IDictionary)
' Call the base method first.
MyBase.PreFilterProperties(properties)
' Make the NamingContainer visible in the Properties grid.
Dim selectProp As PropertyDescriptor = _
CType(properties("NamingContainer"), PropertyDescriptor)
properties("NamingContainer") = _
TypeDescriptor.CreateProperty(selectProp.ComponentType, _
selectProp, BrowsableAttribute.Yes)
End Sub
End Class
End Namespace ' Examples.VB.WebControls.Design
備註
控件 ObjectDataSource 代表呼叫商務物件方法的數據源,以便執行Delete、Insert、Select和Update資料庫作業。
在可視化設計工具中,當您從 [來源] 切換至 [設計] 檢視時,會剖析描述 ObjectDataSource 控件的標記原始程式碼,並在設計介面上建立控件的設計時間版本。 當您切換回 [來源] 檢視時,設計時間控件會保存到標記原始程式碼,並編輯成網頁的標記。 類別 ObjectDataSourceDesigner 提供可視化設計工具中控件的設計時間支援 ObjectDataSource 。
類別 ObjectDataSourceDesigner 成員提供下列功能:
屬性 CanConfigure 會指出是否可以顯示 [設定數據源精靈]。 屬性 CanRefreshSchema 會指出關聯 ObjectDataSource 控件的架構是否可以在設計時間重新整理。
屬性 SelectMethod 會指定執行 Select 函式的方法。 屬性 TypeName 會指定提供相關聯控件數據的商務物件類型。
方法會 GetView 傳回具有指定名稱的數據源檢視。 方法會 GetViewNames 傳回相關聯 ObjectDataSource 控件的數據源檢視名稱清單。 方法 RefreshSchema 會從相關聯的商務物件擷取 Select 方法的元數據。
方法 Configure 會使 [設定數據源精靈] 顯示在可視化設計工具介面上。 方法 PreFilterProperties 會從 中移除屬性、將其他屬性加入關聯控件的陰影屬性或陰影屬性。
建構函式
ObjectDataSourceDesigner() |
初始化 ObjectDataSourceDesigner 類別的新執行個體。 |
屬性
ActionLists |
取得用於在設計階段建立動作清單功能表的項目清單。 (繼承來源 DataSourceDesigner) |
AllowResize |
取得值,指出是否可在設計階段環境中調整控制項的大小。 (繼承來源 ControlDesigner) |
AssociatedComponents |
取得元件集合,該集合與設計工具管理的元件相關聯。 (繼承來源 ComponentDesigner) |
AutoFormats |
針對設計階段的相關聯控制項,取得要在 [自動格式化] 對話方塊中顯示之預先定義的自動格式化配置集合。 (繼承來源 ControlDesigner) |
Behavior |
已淘汰.
取得或設定與設計工具相關聯的 DHTML 行為。 (繼承來源 HtmlControlDesigner) |
CanConfigure |
取得值,指出是否可以呼叫 Configure() 方法。 |
CanRefreshSchema |
取得值,指出是否可以呼叫 RefreshSchema(Boolean) 方法。 |
Component |
取得這個設計工具正在設計的元件。 (繼承來源 ComponentDesigner) |
DataBindings |
取得目前控制項的資料繫結 (Data Binding) 集合。 (繼承來源 HtmlControlDesigner) |
DataBindingsEnabled |
取得值,指出關聯控制項的包含區域是否支援資料繫結。 (繼承來源 ControlDesigner) |
DesignerState |
取得物件,用於在設計階段保存關聯控制項的資料。 (繼承來源 ControlDesigner) |
DesignTimeElement |
已淘汰.
取得設計階段物件,表示與設計介面上 HtmlControlDesigner 物件相關聯的控制項。 (繼承來源 HtmlControlDesigner) |
DesignTimeElementView |
已淘汰.
取得控制項設計工具的檢視控制項物件。 (繼承來源 ControlDesigner) |
DesignTimeHtmlRequiresLoadComplete |
已淘汰.
取得值,指出設計主應用程式在呼叫 GetDesignTimeHtml 方法之前是否必須完成載入。 (繼承來源 ControlDesigner) |
Expressions |
在設計階段取得目前控制項的運算式繫結。 (繼承來源 HtmlControlDesigner) |
HidePropertiesInTemplateMode |
取得值,指示當控制項處於樣板模式時,關聯控制項的屬性是否會隱藏。 (繼承來源 ControlDesigner) |
ID |
取得或設定控制項的 ID 字串。 (繼承來源 ControlDesigner) |
InheritanceAttribute |
取得屬性 (Attribute),表示相關元件的繼承 (Inheritance) 型別。 (繼承來源 ComponentDesigner) |
Inherited |
取得值,表示是否要繼承這個元件。 (繼承來源 ComponentDesigner) |
InTemplateMode |
取得值,指出控制項在設計主應用程式中處於樣板檢視模式還是編輯模式。 InTemplateMode 屬性是唯讀的。 (繼承來源 ControlDesigner) |
IsDirty |
已淘汰.
取得或設定值,指出 Web 伺服器控制項是否已標記為變更。 (繼承來源 ControlDesigner) |
ParentComponent |
取得這個設計工具的父元件。 (繼承來源 ComponentDesigner) |
ReadOnly |
已淘汰.
取得或設定值,指出控制項屬性於設計階段是否為唯讀。 (繼承來源 ControlDesigner) |
RootDesigner |
為包含關聯控制項的 Web Form 網頁,取得控制項設計工具。 (繼承來源 ControlDesigner) |
SelectMethod |
呼叫關聯的控制項之 Select() 方法時,取得或設定要執行的方法名稱。 |
SetTextualDefaultProperty |
在視覺化設計工具中,為 ObjectDataSource Web 伺服器控制項提供設計階段支援。 (繼承來源 ComponentDesigner) |
ShadowProperties |
取得覆寫使用者設定的屬性值集合。 (繼承來源 ComponentDesigner) |
ShouldCodeSerialize |
已淘汰.
取得或設定值,指出是否應該於序列化 (Serialization) 期間,在程式碼後置 (Code-Behind) 檔案中為目前設計文件建立控制項的欄位宣告。 (繼承來源 HtmlControlDesigner) |
SuppressingDataSourceEvents |
取得值,指出是否發生 DataSourceChanged 事件或 RefreshSchema(Boolean) 方法。 (繼承來源 DataSourceDesigner) |
Tag |
取得物件,表示關聯控制項的 HTML 標記項目。 (繼承來源 ControlDesigner) |
TemplateGroups |
取得範本群組集合,各範本群組包含一個或多個範本定義。 (繼承來源 ControlDesigner) |
TypeName |
取得或設定包含方法 (關聯的控制項中指定的方法) 的型別名稱。 |
UsePreviewControl |
取得值,其中該值會表示控制項設計工具是否使用暫時預覽控制項以產生設計階段 HTML 標記。 (繼承來源 ControlDesigner) |
Verbs |
取得與設計工具相關元件所支援的設計階段動詞命令 (Verb)。 (繼承來源 ComponentDesigner) |
ViewControl |
取得或設定 Web 伺服器控制項,可用於預覽設計階段的 HTML 標記。 (繼承來源 ControlDesigner) |
ViewControlCreated |
取得或設定值,指出是否已建立 |
Visible |
取得值,這個值表示控制項在設計階段是否為可見的。 (繼承來源 ControlDesigner) |
方法
事件
DataSourceChanged |
在關聯資料來源的任何屬性變更時發生。 (繼承來源 DataSourceDesigner) |
SchemaRefreshed |
在結構描述已重新整理之後發生。 (繼承來源 DataSourceDesigner) |
明確介面實作
IDesignerFilter.PostFilterAttributes(IDictionary) |
如需這個成員的描述,請參閱 PostFilterAttributes(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
IDesignerFilter.PostFilterEvents(IDictionary) |
如需這個成員的描述,請參閱 PostFilterEvents(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
IDesignerFilter.PostFilterProperties(IDictionary) |
如需這個成員的描述,請參閱 PostFilterProperties(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
IDesignerFilter.PreFilterAttributes(IDictionary) |
如需這個成員的描述,請參閱 PreFilterAttributes(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
IDesignerFilter.PreFilterEvents(IDictionary) |
如需這個成員的描述,請參閱 PreFilterEvents(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
IDesignerFilter.PreFilterProperties(IDictionary) |
如需這個成員的描述,請參閱 PreFilterProperties(IDictionary) 方法。 (繼承來源 ComponentDesigner) |
ITreeDesigner.Children |
如需這個成員的描述,請參閱 Children 屬性。 (繼承來源 ComponentDesigner) |
ITreeDesigner.Parent |
如需這個成員的描述,請參閱 Parent 屬性。 (繼承來源 ComponentDesigner) |