Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

HierarchicalDataSourceView.Select, méthode

Obtient une liste de tous les éléments de données dans l'affichage.

Espace de noms :  System.Web.UI
Assembly :  System.Web (dans System.Web.dll)

public abstract IHierarchicalEnumerable Select()

Valeur de retour

Type : System.Web.UI.IHierarchicalEnumerable
Collection IHierarchicalEnumerable d'éléments de données.

La méthode Select retourne une collection IHierarchicalEnumerable d'éléments de données dans l'affichage en cours. Vous pouvez appeler la méthode GetEnumerator pour obtenir un objet IEnumerator et itérer au sein de la collection d'éléments de données.

L'exemple de code suivant montre comment remplacer la méthode Select dans une classe qui dérive de la classe HierarchicalDataSourceView pour récupérer des données hiérarchiques FileSystemInfo d'un système de fichiers. Pour des raisons de sécurité, les informations de système de fichiers sont affichées uniquement si le contrôle de source de données est utilisé dans un localhost, un scénario authentifié, et démarre uniquement avec le répertoire virtuel dans lequel la page Web Forms qui utilise le contrôle de source de données réside. Dans le cas contraire, le paramètre viewPath passé au constructeur de l'objet de vue peut être utilisé pour créer une vue selon le chemin d'accès du système de fichiers courant. Cet exemple de code fait partie d'un exemple plus complet fourni pour la classe HierarchicalDataSourceControl.


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.");
        }
    }
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft