ObjectDataSourceDesigner 类   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在可视化设计器中为 ObjectDataSource Web 服务器控件提供设计时支持。
public ref class ObjectDataSourceDesigner : System::Web::UI::Design::DataSourceDesignerpublic class ObjectDataSourceDesigner : System.Web.UI.Design.DataSourceDesignertype ObjectDataSourceDesigner = class
    inherit DataSourceDesignerPublic Class ObjectDataSourceDesigner
Inherits DataSourceDesigner- 继承
- 
				ObjectDataSourceDesigner
示例
下面的代码示例演示如何扩展 ObjectDataSourceDesigner 类,以在设计时更改派生自 ObjectDataSource 控件的控件的外观和行为。
该示例从 ObjectDataSource派生MyObjectDataSource控件。 
              MyObjectDataSource是 控件的副本ObjectDataSource。 该示例还从 派生MyObjectDataSourceDesigner类,ObjectDataSourceDesigner并为 控件上的 MyObjectDataSource 应用 DesignerAttribute 属性MyObjectDataSourceDesigner。
重写 MyObjectDataSourceDesigner 方法, PreFilterProperties 使 NamingContainer 属性在设计时在 “属性” 网格中可见。
              GetDesignTimeHtml除了控件类型和 ID 之外, 重写 MyObjectDataSourceDesigner 方法以在占位符中显示 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 表示一个数据源,该数据源调用业务对象的方法以执行删除、插入、选择和更新数据库操作。
在可视化设计器中,从“源”视图切换到“设计”视图时,将分析描述控件的 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 | 获取当前控件的数据绑定集合。(继承自 HtmlControlDesigner) | 
| DataBindingsEnabled | 获取一个值,该值指示包含关联控件的区域是否支持数据绑定。(继承自 ControlDesigner) | 
| DesignerState | 获取用于在设计时保持关联控件数据的对象。(继承自 ControlDesigner) | 
| DesignTimeElement | 
		已过时.
	 获取一个设计时对象,该对象表示与设计图面上的 HtmlControlDesigner 对象关联的控件。(继承自 HtmlControlDesigner) | 
| DesignTimeElementView | 
		已过时.
	 获取控件设计器的视图控件对象。(继承自 ControlDesigner) | 
| DesignTimeHtmlRequiresLoadComplete | 
		已过时.
	 获取一个值,该值指示是否必须在设计宿主完成加载之后才能调用 GetDesignTimeHtml 方法。(继承自 ControlDesigner) | 
| Expressions | 获取当前控件在设计时的表达式绑定。(继承自 HtmlControlDesigner) | 
| HidePropertiesInTemplateMode | 获取一个值,该值指示当控件处于模板模式时,关联控件的属性是否被隐藏。(继承自 ControlDesigner) | 
| ID | 获取或设置控件的 ID 字符串。(继承自 ControlDesigner) | 
| InheritanceAttribute | 获取一个特性,该特性指示关联组件的继承类型。(继承自 ComponentDesigner) | 
| Inherited | 获取一个值,该值指示是否继承此组件。(继承自 ComponentDesigner) | 
| InTemplateMode | 获取一个值,该值指示控件在设计宿主中是否处于模板查看模式或模板编辑模式之一。 InTemplateMode 属性为只读。(继承自 ControlDesigner) | 
| IsDirty | 
		已过时.
	 获取或设置一个值,该值指示 Web 服务器控件是否已被标记为已更改。(继承自 ControlDesigner) | 
| ParentComponent | 获取此设计器的父组件。(继承自 ComponentDesigner) | 
| ReadOnly | 
		已过时.
	 获取或设置一个值,该值指示控件的属性在设计时是否为只读。(继承自 ControlDesigner) | 
| RootDesigner | 获取包含关联控件的 Web 窗体页的控件设计器。(继承自 ControlDesigner) | 
| SelectMethod | 获取或设置要在调用关联控件的 Select() 方法时执行的方法的名称。 | 
| SetTextualDefaultProperty | 在可视化设计器中为 ObjectDataSource Web 服务器控件提供设计时支持。(继承自 ComponentDesigner) | 
| ShadowProperties | 获取重写用户设置的属性值的集合。(继承自 ComponentDesigner) | 
| ShouldCodeSerialize | 
		已过时.
	 获取或设置一个值,该值指示在序列化期间是否应为当前设计文档在代码隐藏文件中创建控件的字段声明。(继承自 HtmlControlDesigner) | 
| SuppressingDataSourceEvents | 获取一个值,该值指示是否发生 DataSourceChanged 事件或 RefreshSchema(Boolean) 方法。(继承自 DataSourceDesigner) | 
| Tag | 获取表示关联控件的 HTML 标记元素的对象。(继承自 ControlDesigner) | 
| TemplateGroups | 获取一个模板组集合,其中每个模板组包含一个或多个模板定义。(继承自 ControlDesigner) | 
| TypeName | 获取或设置类型名称,该类型包含在关联控件中指定的方法。 | 
| UsePreviewControl | 获取一个值,该值指示控件设计器是否使用临时预览控件来生成设计时 HTML 标记。(继承自 ControlDesigner) | 
| Verbs | 获取与设计器相关联的组件所支持的设计时谓词。(继承自 ComponentDesigner) | 
| ViewControl | 获取或设置可用于预览设计时 HTML 标记的 Web 服务器控件。(继承自 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) |