HierarchicalDataSourceView HierarchicalDataSourceView HierarchicalDataSourceView HierarchicalDataSourceView Class

Definizione

Rappresenta una visualizzazione dati in un nodo o un insieme di nodi di una struttura di dati gerarchica per un controllo HierarchicalDataSourceControl.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
Ereditarietà
HierarchicalDataSourceViewHierarchicalDataSourceViewHierarchicalDataSourceViewHierarchicalDataSourceView
Derivato

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come derivare HierarchicalDataSourceView una classe dalla classe per recuperare dati dall'archivio gerarchico dei dati, in questo caso un file System.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. La FileSystemDataSourceView classe è un'istanza fortemente HierarchicalDataSourceView tipizzata che consente l'associazione di controlli server Web gerarchici, ad esempio il FileSystemDataSource controllo, a un controllo e la TreeView visualizzazione di file System informazioni.The 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. Per motivi di sicurezza, le informazioni file system vengono visualizzate solo se il controllo origine dati viene utilizzato in uno scenario localhost, autenticato e inizia solo con la directory virtuale in cui risiede la pagina Web Form che utilizza il controllo origine dati.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. In caso contrario viewPath , il parametro passato al costruttore potrebbe essere utilizzato per creare una vista basata sul percorso di file system corrente.Otherwise, the viewPath parameter passed to the constructor might be used to create a view based on the current file system path. Questo esempio di codice fa parte di un esempio più ampio fornito HierarchicalDataSourceControl per la classe.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

Commenti

ASP.NET supporta un'architettura di associazione dati che consente ai controlli server Web di eseguire l'associazione ai dati e presentarli in modo coerente.ASP.NET supports a data-binding architecture that enables Web server controls to bind to data and present it in a consistent fashion. I controlli server Web che si associano ai dati sono denominati controlli con associazione a dati e le classi che facilitano tale associazione sono denominate controlli origine dati.Web server controls that bind to data are called data-bound controls, and the classes that facilitate that binding are called data source controls. I controlli origine dati possono rappresentare qualsiasi origine dati, ovvero un file, un flusso, un database relazionale, un oggetto business e così via.Data source controls can represent any data source: a file, a stream, a relational database, a business object, and so on. I controlli origine dati presentano i dati in modo coerente ai controlli con associazione a dati, indipendentemente dall'origine o dal formato dei dati sottostanti.Data source controls present data in a consistent way to data-bound controls, regardless of the source or format of the underlying data.

I controlli origine dati che rappresentano dati gerarchici derivano dalla HierarchicalDataSourceControl classe astratta.Data source controls that represent hierarchical data derive from the abstract HierarchicalDataSourceControl class. È possibile considerare un controllo origine dati come la combinazione dell'oggetto controllo origine dati e delle visualizzazioni associate sui dati sottostanti, rappresentati da oggetti vista origine dati.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. I controlli origine dati gerarchici supportano una visualizzazione origine dati gerarchica per ogni livello gerarchico di dati che rappresentano.Hierarchical data source controls support a hierarchical data source view for each hierarchical level of data they represent. Le viste origine dati non sono denominate, DataSourceView ad esempio gli oggetti DataSourceControl associati a un controllo, ma sono identificate dal percorso gerarchico univoco.The data source views are not named, like the DataSourceView objects associated with a DataSourceControl control, but are identified by their unique hierarchical path.

Le viste origine dati definiscono le funzionalità di un controllo origine dati.Data source views define the capabilities of a data source control. Tutti gli oggetti vista origine dati, HierarchicalDataSourceViewincluso, supportano il recupero dei dati dall'origine dati sottostante usando Select il metodo, che recupera un IHierarchicalEnumerable elenco gerarchico di dati come oggetto.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. Tutti gli oggetti vista origine dati supportano facoltativamente un set di funzionalità di base, tra cui Insertoperazioni Updatequali Delete,, e ordinamento.All data source view objects optionally support a basic set of capabilities, including operations such as Insert, Update, Delete, and sorting. Un controllo con associazione a dati consente di individuare le funzionalità di un controllo origine dati recuperando una vista origine dati associata utilizzando GetHierarchicalView il metodo ed eseguendo una query sulla vista in fase di progettazione o in fase di esecuzione.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. HierarchicalDataSourceViewAttualmente non supporta Insert Update le operazioni o Delete .HierarchicalDataSourceView does not currently support Insert, Update or Delete operations.

Note per gli eredi

Quando si eredita da HierarchicalDataSourceView, è necessario eseguire l'override del membro Select().When you inherit from HierarchicalDataSourceView, you must override the following member: Select().

Costruttori

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

Inizializza una nuova istanza della classe HierarchicalDataSourceView.Initializes a new instance of the HierarchicalDataSourceView class.

Metodi

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Ottiene un elenco di tutti gli elementi di dati presenti nella visualizzazione.Gets a list of all the data items in the view.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a

Vedi anche