HierarchicalDataSourceView HierarchicalDataSourceView HierarchicalDataSourceView HierarchicalDataSourceView Class

Definition

Stellt eine Datenansicht eines Knotens oder einer Auflistung von Knoten in einer hierarchischen Datenstruktur für ein HierarchicalDataSourceControl-Steuerelement dar.Represents a data view on a node or collection of nodes in a hierarchical data structure for a HierarchicalDataSourceControl control.

public ref class HierarchicalDataSourceView abstract
public abstract class HierarchicalDataSourceView
type HierarchicalDataSourceView = class
Public MustInherit Class HierarchicalDataSourceView
Vererbung
HierarchicalDataSourceViewHierarchicalDataSourceViewHierarchicalDataSourceViewHierarchicalDataSourceView
Abgeleitet

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Klasse von der HierarchicalDataSourceView -Klasse abgeleitet wird, um Daten aus dem hierarchischen Datenspeicher abzurufen, in diesem Fall in einem Dateisystem.The following code example demonstrates how to derive a class from the HierarchicalDataSourceView class to retrieve data from hierarchical data storage, in this case a file system. Die FileSystemDataSourceView -Klasse ist eine stark HierarchicalDataSourceView typisierte-Instanz, mit der hierarchische Webserver TreeView Steuerelemente, z. FileSystemDataSource b. das-Steuerelement, an ein Steuerelement gebunden und Dateisystem Informationen angezeigtThe FileSystemDataSourceView class is a strongly typed HierarchicalDataSourceView instance that enables hierarchical Web server controls such as the TreeView control to bind to a FileSystemDataSource control and display file system information. Aus Sicherheitsgründen werden Dateisystem Informationen nur angezeigt, wenn das Datenquellen-Steuerelement in einem localhost-, authentifizierten Szenario verwendet wird und nur mit dem virtuellen Verzeichnis gestartet wird, in dem sich die Web Forms Seite mit dem Datenquellen-Steuerelement befindet.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. Andernfalls kann der viewPath an den-Konstruktor übergebenen-Parameter verwendet werden, um eine Sicht basierend auf dem aktuellen Dateisystempfad zu erstellen.Otherwise, the viewPath parameter passed to the constructor might be used to create a view based on the current file system path. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die HierarchicalDataSourceControl -Klasse bereitgestellt wird.This code example is part of a larger example provided for the HierarchicalDataSourceControl class.

public class FileSystemDataSourceView : HierarchicalDataSourceView
{
    private string _viewPath;

    public FileSystemDataSourceView(string viewPath)
    {
        HttpRequest currentRequest = HttpContext.Current.Request;
        if (viewPath == "")
        {
            _viewPath = currentRequest.MapPath(currentRequest.ApplicationPath);
        }
        else
        {
            _viewPath = Path.Combine(
                currentRequest.MapPath(currentRequest.ApplicationPath),
                viewPath);
        }
    }

    // Starting with the rootNode, recursively build a list of
    // FileSystemInfo nodes, create FileSystemHierarchyData
    // objects, add them all to the FileSystemHierarchicalEnumerable,
    // and return the list.
    public override IHierarchicalEnumerable Select()
    {
        HttpRequest currentRequest = HttpContext.Current.Request;

        // SECURITY: There are many security issues that can be raised
        // SECURITY: by exposing the file system structure of a Web server
        // SECURITY: to an anonymous user in a limited trust scenario such as
        // SECURITY: a Web page served on an intranet or the Internet.
        // SECURITY: For this reason, the FileSystemDataSource only
        // SECURITY: shows data when the HttpRequest is received
        // SECURITY: from a local Web server. In addition, the data source
        // SECURITY: does not display data to anonymous users.
        if (currentRequest.IsAuthenticated &&
            (currentRequest.UserHostAddress == "127.0.0.1" ||
             currentRequest.UserHostAddress == "::1"))
        {
            DirectoryInfo rootDirectory = new DirectoryInfo(_viewPath);
            if (!rootDirectory.Exists)
            {
                return null;
            }

            FileSystemHierarchicalEnumerable fshe =
                new FileSystemHierarchicalEnumerable();

            foreach (FileSystemInfo fsi
                in rootDirectory.GetFileSystemInfos())
            {
                fshe.Add(new FileSystemHierarchyData(fsi));
            }
            return fshe;
        }
        else
        {
            throw new NotSupportedException(
                "The FileSystemDataSource only " +
                "presents data in an authenticated, localhost context.");
        }
    }
}
Public Class FileSystemDataSourceView
    Inherits HierarchicalDataSourceView

    Private _viewPath As String

    Public Sub New(ByVal viewPath As String)
        Dim currentRequest As HttpRequest = HttpContext.Current.Request
        If viewPath = "" Then
            _viewPath = currentRequest.MapPath(currentRequest.ApplicationPath)
        Else
            _viewPath = Path.Combine(currentRequest.MapPath(currentRequest.ApplicationPath), viewPath)
        End If
    End Sub 'New


    ' Starting with the rootNode, recursively build a list of
    ' FileSystemInfo nodes, create FileSystemHierarchyData
    ' objects, add them all to the FileSystemHierarchicalEnumerable,
    ' and return the list.
    Public Overrides Function [Select]() As IHierarchicalEnumerable
        Dim currentRequest As HttpRequest = HttpContext.Current.Request

        ' SECURITY: There are many security issues that can be raised
        ' SECURITY: by exposing the file system structure of a Web server
        ' SECURITY: to an anonymous user in a limited trust scenario such as
        ' SECURITY: a Web page served on an intranet or the Internet.
        ' SECURITY: For this reason, the FileSystemDataSource only
        ' SECURITY: shows data when the HttpRequest is received
        ' SECURITY: from a local Web server. In addition, the data source
        ' SECURITY: does not display data to anonymous users.
        If currentRequest.IsAuthenticated AndAlso _
            (currentRequest.UserHostAddress = "127.0.0.1" OrElse _
             currentRequest.UserHostAddress = "::1") Then

            Dim rootDirectory As New DirectoryInfo(_viewPath)

            Dim fshe As New FileSystemHierarchicalEnumerable()

            Dim fsi As FileSystemInfo
            For Each fsi In rootDirectory.GetFileSystemInfos()
                fshe.Add(New FileSystemHierarchyData(fsi))
            Next fsi
            Return fshe
        Else
            Throw New NotSupportedException( _
                "The FileSystemDataSource only " + _
                "presents data in an authenticated, localhost context.")
        End If
    End Function 'Select
End Class 'FileSystemDataSourceView

Hinweise

ASP.NET unterstützt eine Daten Bindungs Architektur, mit der Webserver Steuerelemente Daten an Daten binden und auf konsistente Weise präsentieren können.ASP.NET supports a data-binding architecture that enables Web server controls to bind to data and present it in a consistent fashion. Webserver Steuerelemente, die an Daten gebunden werden, werden als Daten gebundene Steuerelemente bezeichnet, und die Klassen, die diese Bindung vereinfachen, werden als Datenquellen-Steuerelemente bezeichnet.Web server controls that bind to data are called data-bound controls, and the classes that facilitate that binding are called data source controls. Datenquellensteuerelemente können jede beliebige Datenquelle darstellen: eine Datei, einen Stream, eine relationale Datenbank, ein Geschäftsobjekt usw.Data source controls can represent any data source: a file, a stream, a relational database, a business object, and so on. Datenquellen-Steuerelemente präsentieren Daten auf konsistente Weise für Daten gebundene Steuerelemente, unabhängig von der Quelle oder dem Format der zugrunde liegenden Daten.Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.

Datenquellen Steuerelemente, die hierarchische Daten darstellen, HierarchicalDataSourceControl werden von der abstrakten-Klasse abgeleitet.Data source controls that represent hierarchical data derive from the abstract HierarchicalDataSourceControl class. Sie können sich ein Datenquellen-Steuerelement als die Kombination aus dem Datenquellen-Steuerelement Objekt und den zugehörigen Sichten für die zugrunde liegenden Daten vorstellen, die durch Datenquellen Sicht-Objekte dargestellt werden.You can think of a data source control as the combination of the data source control object and its associated views on the underlying data, which are represented by data source view objects. Hierarchische Datenquellen-Steuerelemente unterstützen eine hierarchische Datenquellen Sicht für jede hierarchische Ebene von Daten, die Sie darstellen.Hierarchical data source controls support a hierarchical data source view for each hierarchical level of data they represent. Die Datenquellen Sichten werden nicht benannt, wie z DataSourceView . b. die DataSourceControl einem Steuerelement zugeordneten Objekte, werden aber durch ihren eindeutigen hierarchischen Pfad identifiziert.The data source views are not named, like the DataSourceView objects associated with a DataSourceControl control, but are identified by their unique hierarchical path.

Datenquellen Sichten definieren die Funktionen eines Datenquellen-Steuer Elements.Data source views define the capabilities of a data source control. Alle Datenquellen Sicht-Objekte, HierarchicalDataSourceVieweinschließlich, unterstützen das Abrufen von Daten aus der zugrunde Select liegenden Datenquelle mithilfe der-Methode, die eine hierarchische IHierarchicalEnumerable Liste von Daten als ein-Objekt abruft.All data source view objects, including HierarchicalDataSourceView, support data retrieval from the underlying data source using the Select method, which retrieves a hierarchical list of data as an IHierarchicalEnumerable object. Alle Datenquellen Sicht-Objekte unterstützen optional einen grundlegenden Satz von Funktionen, einschließlich InsertOperationen Updatewie Delete,, und Sortierung.All data source view objects optionally support a basic set of capabilities, including operations such as Insert, Update, Delete, and sorting. Ein Daten gebundenes Steuerelement kann die Funktionen eines Datenquellen-Steuer Elements ermitteln, indem eine zugeordnete Datenquellen Sicht GetHierarchicalView mit der-Methode abgerufen und die Sicht zur Entwurfszeit oder zur Laufzeit abgefragt wird.A data-bound control can discover the capabilities of a data source control by retrieving an associated data source view using the GetHierarchicalView method and querying the view at design time or at run time. HierarchicalDataSourceViewunterstützt Insertzurzeit keine- Delete , Update -oder-Vorgänge.HierarchicalDataSourceView does not currently support Insert, Update or Delete operations.

Hinweise für Vererber

Wenn Sie von HierarchicalDataSourceView erben, müssen Sie folgenden Member überschreiben: Select().When you inherit from HierarchicalDataSourceView, you must override the following member: Select().

Konstruktoren

HierarchicalDataSourceView() HierarchicalDataSourceView() HierarchicalDataSourceView() HierarchicalDataSourceView()

Initialisiert eine neue Instanz der HierarchicalDataSourceView-Klasse.Initializes a new instance of the HierarchicalDataSourceView class.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Select() Select() Select() Select()

Ruft eine Liste aller Datenelemente in der Ansicht ab.Gets a list of all the data items in the view.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch