Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
671 lines (632 sloc) 44.3 KB
<Type Name="HierarchicalDataSourceControl" FullName="System.Web.UI.HierarchicalDataSourceControl">
<TypeSignature Language="C#" Value="public abstract class HierarchicalDataSourceControl : System.Web.UI.Control, System.Web.UI.IHierarchicalDataSource" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit HierarchicalDataSourceControl extends System.Web.UI.Control implements class System.Web.UI.IHierarchicalDataSource" />
<TypeSignature Language="DocId" Value="T:System.Web.UI.HierarchicalDataSourceControl" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class HierarchicalDataSourceControl&#xA;Inherits Control&#xA;Implements IHierarchicalDataSource" />
<TypeSignature Language="C++ CLI" Value="public ref class HierarchicalDataSourceControl abstract : System::Web::UI::Control, System::Web::UI::IHierarchicalDataSource" />
<TypeSignature Language="F#" Value="type HierarchicalDataSourceControl = class&#xA; inherit Control&#xA; interface IHierarchicalDataSource" />
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Web.UI.Control</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Web.UI.IHierarchicalDataSource</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Bindable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.ComponentModel.Designer("System.Web.UI.Design.HierarchicalDataSourceDesigner, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Web.UI.ControlBuilder(typeof(System.Web.UI.DataSourceControlBuilder))</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.Web.UI.NonVisualControl</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-2.0;netframework-3.0;netframework-3.5">
<AttributeName>System.ComponentModel.Designer("System.Web.UI.Design.HierarchicalDataSourceDesigner, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Provides a base class for data source controls that represent hierarchical data.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
ASP.NET supports a controls data-binding architecture that enables Web server controls to bind to data and present it in a consistent fashion. Web server controls that bind to data are called data-bound controls, and the classes that facilitate binding are called data source controls. Data source controls can represent any data source: a file, a stream, a relational database, a business object, and so on. Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.
Data source controls that represent hierarchical data derive from the <xref:System.Web.UI.HierarchicalDataSourceControl> class, while data source controls that represent lists or tables of data derive from the <xref:System.Web.UI.DataSourceControl> class. The <xref:System.Web.UI.HierarchicalDataSourceControl> class is the base implementation of the <xref:System.Web.UI.IHierarchicalDataSource> interface, which defines a single method to retrieve hierarchical data source view objects associated with the data source control, <xref:System.Web.UI.IHierarchicalDataSource.GetHierarchicalView%2A>.
You can think of a data source control as the combination of the <xref:System.Web.UI.HierarchicalDataSourceControl> object and its associated views on the underlying data, called data source view objects. While data source controls that represent tabular data are typically associated with only one named view, the <xref:System.Web.UI.HierarchicalDataSourceControl> class supports a data source view for each level of hierarchical data that the data source control represents. The level of hierarchical data is identified by a unique hierarchical path, passed to the <xref:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView%2A> method in the `viewPath` parameter. Each <xref:System.Web.UI.HierarchicalDataSourceView> object defines the capabilities of a data source control for the hierarchical level represented, and performs operations such as insert, update, delete, and sort.
Web server controls that derive from the <xref:System.Web.UI.WebControls.HierarchicalDataBoundControl> class, such as <xref:System.Web.UI.WebControls.TreeView>, use hierarchical data source controls to bind to hierarchical data.
Data source controls are implemented as controls to enable declarative persistence and to optionally permit participation in state management. Data source controls have no visual rendering, and therefore do not support themes.
## Examples
The following code example demonstrates how to extend the abstract <xref:System.Web.UI.HierarchicalDataSourceControl> class and the <xref:System.Web.UI.HierarchicalDataSourceView> class, and implement the <xref:System.Web.UI.IHierarchicalEnumerable> and <xref:System.Web.UI.IHierarchyData> interfaces to create a hierarchical data source control that retrieves file system information. The `FileSystemDataSource` control enables Web server controls to bind to <xref:System.IO.FileSystemInfo> objects and display basic file system information. The `FileSystemDataSource` class in the example provides the implementation of the <xref:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView%2A> method, which retrieves a `FileSystemDataSourceView` object. The `FileSystemDataSourceView` object retrieves the data from the underlying data storage, in this case the file system information on the Web server. For security purposes, file system information is displayed only if the data source control is being used in a localhost, authenticated scenario, and only starts with the virtual directory that the Web Forms page using the data source control resides in. Finally, two classes that implement <xref:System.Web.UI.IHierarchicalEnumerable> and <xref:System.Web.UI.IHierarchyData> are provided to wrap the <xref:System.IO.FileSystemInfo> objects that `FileSystemDataSource` uses.
[!code-csharp[Urtue.Samples.Alexkr.FileSystemDataSource_1#2](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_1/CS/filesystemdatasource.cs#2)]
[!code-vb[Urtue.Samples.Alexkr.FileSystemDataSource_1#2](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_1/VB/filesystemdatasource.vb#2)]
The following code example demonstrates how to declaratively bind a <xref:System.Web.UI.WebControls.TreeView> control to file system data using the `FileSystemDataSource` example.
[!code-aspx-csharp[Urtue.Samples.Alexkr.FileSystemDataSource_webform_1#50](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_webform_1/CS/webform7cs.aspx#50)]
[!code-aspx-vb[Urtue.Samples.Alexkr.FileSystemDataSource_webform_1#50](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_webform_1/VB/webform7vb.aspx#50)]
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.IHierarchicalDataSource" />
<altmember cref="T:System.Web.UI.DataSourceControl" />
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected HierarchicalDataSourceControl ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.#ctor" />
<MemberSignature Language="VB.NET" Value="Protected Sub New ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; HierarchicalDataSourceControl();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Web.UI.HierarchicalDataSourceControl" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ApplyStyleSheetSkin">
<MemberSignature Language="C#" Value="public override void ApplyStyleSheetSkin (System.Web.UI.Page page);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void ApplyStyleSheetSkin(class System.Web.UI.Page page) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.ApplyStyleSheetSkin(System.Web.UI.Page)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override void ApplyStyleSheetSkin(System::Web::UI::Page ^ page);" />
<MemberSignature Language="F#" Value="override this.ApplyStyleSheetSkin : System.Web.UI.Page -&gt; unit" Usage="hierarchicalDataSourceControl.ApplyStyleSheetSkin page" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="page" Type="System.Web.UI.Page" />
</Parameters>
<Docs>
<param name="page">The <see cref="T:System.Web.UI.Page" /> containing the control.</param>
<summary>Applies the style properties that are defined in the page style sheet to the control.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientID">
<MemberSignature Language="C#" Value="public override string ClientID { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string ClientID" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.ClientID" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property ClientID As String" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::String ^ ClientID { System::String ^ get(); };" />
<MemberSignature Language="F#" Value="member this.ClientID : string" Usage="System.Web.UI.HierarchicalDataSourceControl.ClientID" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the server control identifier generated by ASP.NET.</summary>
<value>The server control identifier generated by ASP.NET.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="ClientIDMode">
<MemberSignature Language="C#" Value="public override System.Web.UI.ClientIDMode ClientIDMode { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance valuetype System.Web.UI.ClientIDMode ClientIDMode" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.ClientIDMode" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property ClientIDMode As ClientIDMode" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Web::UI::ClientIDMode ClientIDMode { System::Web::UI::ClientIDMode get(); void set(System::Web::UI::ClientIDMode value); };" />
<MemberSignature Language="F#" Value="member this.ClientIDMode : System.Web.UI.ClientIDMode with get, set" Usage="System.Web.UI.HierarchicalDataSourceControl.ClientIDMode" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Web.UI.ClientIDMode</ReturnType>
</ReturnValue>
<Docs>
<summary>This property is not used for data source controls.</summary>
<value>This property is not used for data source controls.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This property of the <xref:System.Web.UI.Control> base class is not used for data source controls because data source controls do not render markup.
]]></format>
</remarks>
<altmember cref="P:System.Web.UI.Control.ClientIDMode" />
<related type="Article" href="https://msdn.microsoft.com/library/45a8c3ef-5ac7-48f1-862a-0cd5073742e7">ASP.NET Control Identification</related>
</Docs>
</Member>
<Member MemberName="Controls">
<MemberSignature Language="C#" Value="public override System.Web.UI.ControlCollection Controls { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Web.UI.ControlCollection Controls" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.Controls" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property Controls As ControlCollection" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::Web::UI::ControlCollection ^ Controls { System::Web::UI::ControlCollection ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Controls : System.Web.UI.ControlCollection" Usage="System.Web.UI.HierarchicalDataSourceControl.Controls" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Web.UI.ControlCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a <see cref="T:System.Web.UI.ControlCollection" /> object that represents the child controls for a specified server control in the UI hierarchy.</summary>
<value>The collection of child controls for the specified server control.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="CreateControlCollection">
<MemberSignature Language="C#" Value="protected override System.Web.UI.ControlCollection CreateControlCollection ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance class System.Web.UI.ControlCollection CreateControlCollection() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.CreateControlCollection" />
<MemberSignature Language="VB.NET" Value="Protected Overrides Function CreateControlCollection () As ControlCollection" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override System::Web::UI::ControlCollection ^ CreateControlCollection();" />
<MemberSignature Language="F#" Value="override this.CreateControlCollection : unit -&gt; System.Web.UI.ControlCollection" Usage="hierarchicalDataSourceControl.CreateControlCollection " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Web.UI.ControlCollection</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a new <see cref="T:System.Web.UI.ControlCollection" /> object to hold the child controls (both literal and server) of the server control.</summary>
<returns>An <see cref="T:System.Web.UI.EmptyControlCollection" /> that prevents any child controls from being added.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.HierarchicalDataSourceControl.CreateControlCollection%2A> method is overridden by the <xref:System.Web.UI.HierarchicalDataSourceControl> class to prevent child controls from being added.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="EnableTheming">
<MemberSignature Language="C#" Value="public override bool EnableTheming { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool EnableTheming" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.EnableTheming" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property EnableTheming As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool EnableTheming { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.EnableTheming : bool with get, set" Usage="System.Web.UI.HierarchicalDataSourceControl.EnableTheming" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value indicating whether this control supports themes.</summary>
<value>
<see langword="false" /> in all cases.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Because the <xref:System.Web.UI.HierarchicalDataSourceControl> class has no visual rendering, it does not support themes.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">An attempt was made to set the value of the <see cref="P:System.Web.UI.HierarchicalDataSourceControl.EnableTheming" /> property.</exception>
<altmember cref="P:System.Web.UI.HierarchicalDataSourceControl.SkinID" />
<altmember cref="P:System.Web.UI.HierarchicalDataSourceControl.Visible" />
</Docs>
</Member>
<Member MemberName="FindControl">
<MemberSignature Language="C#" Value="public override System.Web.UI.Control FindControl (string id);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.Web.UI.Control FindControl(string id) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.FindControl(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function FindControl (id As String) As Control" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override System::Web::UI::Control ^ FindControl(System::String ^ id);" />
<MemberSignature Language="F#" Value="override this.FindControl : string -&gt; System.Web.UI.Control" Usage="hierarchicalDataSourceControl.FindControl id" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Web.UI.Control</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="id" Type="System.String" />
</Parameters>
<Docs>
<param name="id">The identifier for the control to be found.</param>
<summary>Searches the current naming container for a server control with the specified <paramref name="id" /> parameter.</summary>
<returns>The specified control, or <see langword="null" /> if the specified control does not exist.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Focus">
<MemberSignature Language="C#" Value="public override void Focus ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Focus() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.Focus" />
<MemberSignature Language="VB.NET" Value="Public Overrides Sub Focus ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override void Focus();" />
<MemberSignature Language="F#" Value="override this.Focus : unit -&gt; unit" Usage="hierarchicalDataSourceControl.Focus " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Sets input focus to the control.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Because the <xref:System.Web.UI.HierarchicalDataSourceControl> class has no visual rendering, calling the <xref:System.Web.UI.HierarchicalDataSourceControl.Focus%2A> method on it throws a <xref:System.NotSupportedException> exception.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">An attempt was made to call the <see cref="M:System.Web.UI.HierarchicalDataSourceControl.Focus" /> method.</exception>
<altmember cref="P:System.Web.UI.HierarchicalDataSourceControl.Visible" />
</Docs>
</Member>
<Member MemberName="GetHierarchicalView">
<MemberSignature Language="C#" Value="protected abstract System.Web.UI.HierarchicalDataSourceView GetHierarchicalView (string viewPath);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.Web.UI.HierarchicalDataSourceView GetHierarchicalView(string viewPath) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView(System.String)" />
<MemberSignature Language="VB.NET" Value="Protected MustOverride Function GetHierarchicalView (viewPath As String) As HierarchicalDataSourceView" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; abstract System::Web::UI::HierarchicalDataSourceView ^ GetHierarchicalView(System::String ^ viewPath);" />
<MemberSignature Language="F#" Value="abstract member GetHierarchicalView : string -&gt; System.Web.UI.HierarchicalDataSourceView" Usage="hierarchicalDataSourceControl.GetHierarchicalView viewPath" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Web.UI.IHierarchicalDataSource.GetHierarchicalView(System.String)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Web.UI.HierarchicalDataSourceView</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="viewPath" Type="System.String" />
</Parameters>
<Docs>
<param name="viewPath">The hierarchical path of the view to retrieve.</param>
<summary>Gets the view helper object for the <see cref="T:System.Web.UI.IHierarchicalDataSource" /> interface for the specified path.</summary>
<returns>A <see cref="T:System.Web.UI.HierarchicalDataSourceView" /> that represents a single view of the data at the hierarchical level identified by the <paramref name="viewPath" /> parameter.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This <xref:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView%2A> method provides the default implementation for the <xref:System.Web.UI.HierarchicalDataSourceControl> class, which simply returns `null`. Classes that derive from the <xref:System.Web.UI.HierarchicalDataSourceControl> class override this method and provide an implementation to return a strongly typed view that derives from <xref:System.Web.UI.HierarchicalDataSourceView>.
## Examples
The following code example demonstrates how to override the <xref:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView%2A> method in a class that extends the <xref:System.Web.UI.HierarchicalDataSourceControl> class to return a strongly typed <xref:System.Web.UI.HierarchicalDataSourceView> object. This code example is part of a larger example provided for the <xref:System.Web.UI.HierarchicalDataSourceControl> class.
[!code-csharp[Urtue.Samples.Alexkr.FileSystemDataSource_1#1](~/samples/snippets/csharp/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_1/CS/filesystemdatasource.cs#1)]
[!code-vb[Urtue.Samples.Alexkr.FileSystemDataSource_1#1](~/samples/snippets/visualbasic/VS_Snippets_WebNet/Urtue.Samples.Alexkr.FileSystemDataSource_1/VB/filesystemdatasource.vb#1)]
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.HierarchicalDataSourceView" />
</Docs>
</Member>
<Member MemberName="HasControls">
<MemberSignature Language="C#" Value="public override bool HasControls ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool HasControls() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.HasControls" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function HasControls () As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override bool HasControls();" />
<MemberSignature Language="F#" Value="override this.HasControls : unit -&gt; bool" Usage="hierarchicalDataSourceControl.HasControls " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Determines if the server control contains any child controls.</summary>
<returns>
<see langword="true" /> if the control contains other controls; otherwise, <see langword="false" />.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="OnDataSourceChanged">
<MemberSignature Language="C#" Value="protected virtual void OnDataSourceChanged (EventArgs e);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance void OnDataSourceChanged(class System.EventArgs e) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.OnDataSourceChanged(System.EventArgs)" />
<MemberSignature Language="VB.NET" Value="Protected Overridable Sub OnDataSourceChanged (e As EventArgs)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; virtual void OnDataSourceChanged(EventArgs ^ e);" />
<MemberSignature Language="F#" Value="abstract member OnDataSourceChanged : EventArgs -&gt; unit&#xA;override this.OnDataSourceChanged : EventArgs -&gt; unit" Usage="hierarchicalDataSourceControl.OnDataSourceChanged e" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="e" Type="System.EventArgs" />
</Parameters>
<Docs>
<param name="e">An <see cref="T:System.EventArgs" /> that contains event data.</param>
<summary>Raises the <see cref="E:System.Web.UI.IHierarchicalDataSource.DataSourceChanged" /> event.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.HierarchicalDataSourceControl.OnDataSourceChanged%2A> method notifies a data-bound control that the underlying data source or the data cached in memory has changed, that the control should rebind, and that any necessary work should be performed.
Raising an event invokes the event handler through a delegate. For more information, see [Handling and Raising Events](~/docs/standard/events/index.md).
The <xref:System.Web.UI.HierarchicalDataSourceControl.OnDataSourceChanged%2A> method also allows derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>When overriding <see cref="M:System.Web.UI.HierarchicalDataSourceControl.OnDataSourceChanged(System.EventArgs)" /> in a derived class, be sure to call the base class's <see cref="M:System.Web.UI.HierarchicalDataSourceControl.OnDataSourceChanged(System.EventArgs)" /> method so that registered delegates receive the event.</para>
</block>
<altmember cref="E:System.Web.UI.IHierarchicalDataSource.DataSourceChanged" />
</Docs>
</Member>
<Member MemberName="RenderControl">
<MemberSignature Language="C#" Value="public override void RenderControl (System.Web.UI.HtmlTextWriter writer);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void RenderControl(class System.Web.UI.HtmlTextWriter writer) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.RenderControl(System.Web.UI.HtmlTextWriter)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Sub RenderControl (writer As HtmlTextWriter)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; override void RenderControl(System::Web::UI::HtmlTextWriter ^ writer);" />
<MemberSignature Language="F#" Value="override this.RenderControl : System.Web.UI.HtmlTextWriter -&gt; unit" Usage="hierarchicalDataSourceControl.RenderControl writer" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="writer" Type="System.Web.UI.HtmlTextWriter" />
</Parameters>
<Docs>
<param name="writer">The <see cref="T:System.Web.UI.HtmlTextWriter" /> object that receives the control content.</param>
<summary>Outputs server control content to a provided <see cref="T:System.Web.UI.HtmlTextWriter" /> object and stores tracing information about the control if tracing is enabled.</summary>
<remarks>To be added.</remarks>
<altmember cref="M:System.Web.UI.Control.RenderControl(System.Web.UI.HtmlTextWriter)" />
</Docs>
</Member>
<Member MemberName="SkinID">
<MemberSignature Language="C#" Value="public override string SkinID { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance string SkinID" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.SkinID" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property SkinID As String" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property System::String ^ SkinID { System::String ^ get(); void set(System::String ^ value); };" />
<MemberSignature Language="F#" Value="member this.SkinID : string with get, set" Usage="System.Web.UI.HierarchicalDataSourceControl.SkinID" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DefaultValue("")</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets the skin to apply to the <see cref="T:System.Web.UI.HierarchicalDataSourceControl" /> control.</summary>
<value>
<see cref="F:System.String.Empty" /> in all cases.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Because the <xref:System.Web.UI.HierarchicalDataSourceControl> has no visual rendering, it does not support themes or skins.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">An attempt was made to set the value of the <see cref="P:System.Web.UI.HierarchicalDataSourceControl.SkinID" /> property.</exception>
</Docs>
</Member>
<Member MemberName="System.Web.UI.IHierarchicalDataSource.DataSourceChanged">
<MemberSignature Language="C#" Value="event EventHandler System.Web.UI.IHierarchicalDataSource.DataSourceChanged;" />
<MemberSignature Language="ILAsm" Value=".event class System.EventHandler System.Web.UI.IHierarchicalDataSource.DataSourceChanged" />
<MemberSignature Language="DocId" Value="E:System.Web.UI.HierarchicalDataSourceControl.System#Web#UI#IHierarchicalDataSource#DataSourceChanged" />
<MemberSignature Language="VB.NET" Value="Custom Event DataSourceChanged As EventHandler Implements System.Web.UI.IHierarchicalDataSource" />
<MemberType>Event</MemberType>
<Implements>
<InterfaceMember>E:System.Web.UI.IHierarchicalDataSource.DataSourceChanged</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.EventHandler</ReturnType>
</ReturnValue>
<Docs>
<summary>Occurs when the <see cref="T:System.Web.UI.HierarchicalDataSourceControl" /> has changed in some way that affects data-bound controls.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This member is an explicit interface member implementation. It can be used only when the <xref:System.Web.UI.HierarchicalDataSourceControl> instance is cast to an <xref:System.Web.UI.IHierarchicalDataSource> interface.
The <xref:System.Web.UI.IDataSource.DataSourceChanged> event is raised when the properties of a data-bound control or the underlying data has changed in some way that affects the data bindings between a data-bound control and its data.
]]></format>
</remarks>
<altmember cref="T:System.Web.UI.IHierarchicalDataSource" />
</Docs>
</Member>
<Member MemberName="System.Web.UI.IHierarchicalDataSource.GetHierarchicalView">
<MemberSignature Language="C#" Value="System.Web.UI.HierarchicalDataSourceView IHierarchicalDataSource.GetHierarchicalView (string viewPath);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Web.UI.HierarchicalDataSourceView System.Web.UI.IHierarchicalDataSource.GetHierarchicalView(string viewPath) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Web.UI.HierarchicalDataSourceControl.System#Web#UI#IHierarchicalDataSource#GetHierarchicalView(System.String)" />
<MemberSignature Language="VB.NET" Value="Function GetHierarchicalView (viewPath As String) As HierarchicalDataSourceView Implements IHierarchicalDataSource.GetHierarchicalView" />
<MemberSignature Language="C++ CLI" Value=" virtual System::Web::UI::HierarchicalDataSourceView ^ System.Web.UI.IHierarchicalDataSource.GetHierarchicalView(System::String ^ viewPath) = System::Web::UI::IHierarchicalDataSource::GetHierarchicalView;" />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.Web.UI.IHierarchicalDataSource.GetHierarchicalView(System.String)</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Web.UI.HierarchicalDataSourceView</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="viewPath" Type="System.String" />
</Parameters>
<Docs>
<param name="viewPath">The hierarchical path of the view to retrieve.</param>
<summary>Gets the view helper object for the <see cref="T:System.Web.UI.IHierarchicalDataSource" /> interface for the specified path.</summary>
<returns>Returns a <see cref="T:System.Web.UI.HierarchicalDataSourceView" /> that represents a single view of the data at the hierarchical level identified by the <paramref name="viewPath" /> parameter.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Web.UI.IHierarchicalDataSource.GetHierarchicalView%2A> method is called by clients when a <xref:System.Web.UI.HierarchicalDataSourceControl> is manipulated as an <xref:System.Web.UI.IHierarchicalDataSource> interface. It delegates to the <xref:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView%2A> method, which derived classes override to return strongly typed <xref:System.Web.UI.HierarchicalDataSourceView> objects.
]]></format>
</remarks>
<altmember cref="M:System.Web.UI.HierarchicalDataSourceControl.GetHierarchicalView(System.String)" />
<altmember cref="T:System.Web.UI.HierarchicalDataSourceView" />
</Docs>
</Member>
<Member MemberName="Visible">
<MemberSignature Language="C#" Value="public override bool Visible { get; set; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool Visible" />
<MemberSignature Language="DocId" Value="P:System.Web.UI.HierarchicalDataSourceControl.Visible" />
<MemberSignature Language="VB.NET" Value="Public Overrides Property Visible As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool Visible { bool get(); void set(bool value); };" />
<MemberSignature Language="F#" Value="member this.Visible : bool with get, set" Usage="System.Web.UI.HierarchicalDataSourceControl.Visible" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Web</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.ComponentModel.Browsable(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.DefaultValue(false)</AttributeName>
</Attribute>
<Attribute>
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets or sets a value indicating whether the control is visually displayed.</summary>
<value>
<see langword="false" /> in all cases.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Because the <xref:System.Web.UI.HierarchicalDataSourceControl> class has no visual rendering, <xref:System.Web.UI.HierarchicalDataSourceControl.Visible%2A> always returns `false`.
]]></format>
</remarks>
<exception cref="T:System.NotSupportedException">An attempt was made to set the value of the <see cref="P:System.Web.UI.HierarchicalDataSourceControl.Visible" /> property.</exception>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.