none
fichiers d'un répertoire dans une liste déroulante RRS feed

  • Question

  • Bonjour,

    J'essaye de développer une application avec SharePoint Designer 2010.
    Dans une page, j'aimerais avoir la liste des fichiers d'un répertoire donné (situé sur le réseau, et non sur SharePoint) dans une liste déroulante.

    J'ai donc essayé d'avoir une DataSource personnalisée pour ma DropDownList, mais je n'ai pas réussi à faire prendre en compte mon code C#.

    DirectoryInfo dirInfo = new DirectoryInfo("...");
    DropDownList1.DataSource = dirInfo.GetFiles("*.pdf");
    DropDownList1.DataBind();
    

    Apparemment le paramètre CodeBehind n'est pas pris en compte.

    <%@ Page language="C#" CodeBehind="default.aspx.cs" ... %>
    
    Merci de me dire si cela est possible, et si oui comment.

    • Déplacé Hengzhe Li mardi 21 février 2012 06:52 merge forum (Origine :Développement Sharepoint 2010)
    mardi 21 juin 2011 14:57

Réponses

  • Bonjour,

    alors non une page sharepoint designer n'est pas un webpart. J'entendais par "projet type webpart" un projet Visual Studio contenant une feature qui permet de déployer un webpart. Un webpart est un UserControl qui s'insere "facilement" sur une ou plusieurs pages SharePoint.

    Il est possible de plaquer du code dans une page aspx déployée directement depuis SharePoint Designer, cependant :

    - soit le code est inline (ça veut dire directement dans le fichier aspx) et pour celà il faut autoriser explicitement l'execution du code dans CETTE page et celà via le fichier de config. Ce n'est pas du tout idéal car vous faites du spécifique, le jour où la page doit bouger, il faut modifier la config, redémarrer le site, etc... pas terrible

    - soit le code est behind, et donc compilé dans une DLL. Dans ce cas la DLL (assembly) soit etre correctement référencée en entete du l'aspx. De plus la dll doit etre placée dans le dossier Bin du site (dossier bin de toute la webapplication) ou dans le GAC. Là encore je ne trouve pas ce cas idéal. Vous ferez encore du spécifique, avec un déploiement manuel de la DLL, donc des risques en cas de réinstall par exemple...

    Les webpart sont réutilisables sur plusieurs pages. Vous n'avez peut être pas besoin de celà dans la mesure ou vous etes sur que le composant à mettre en place ne doit apparaitre que sur une page donnée et jamais ailleurs.

    Dans ce cas là je vous invite tout de même à voir du coté de Visual Studio 2010 qui propose en plus du webpart un élement appellé "page d'application" (page layout). Ce modèle de projet va mettre pour vous en place tout le squelette du projet, de la page, du code behind, ce qu'il faut pour déployer proprement, etc... il n'y aura plus qu'à coder l'aspx et le code behind à vos besoins....

     

     

    • Proposé comme réponse lionel limozin mercredi 22 juin 2011 08:12
    • Marqué comme réponse alex_citebd mercredi 22 juin 2011 15:50
    mercredi 22 juin 2011 08:12

Toutes les réponses

  • Bonjour,

    A premierer vue j'ai envie de dire qu'il faut embarquer ce code dans un projet type "webpart". Est-ce le cas ?

    mardi 21 juin 2011 15:57
  • Merci pour votre réponse.

    Pouvez-vous être plus précis par ce que vous entendez par "un projet type 'webpart'" ?

    Je ne sais pas si cela répond, au moins en partie, à votre question, mais j'ai créé la nouvelle page directement à partir de SharePoint Designer.

     

    mardi 21 juin 2011 17:09
  • Bonjour,

    alors non une page sharepoint designer n'est pas un webpart. J'entendais par "projet type webpart" un projet Visual Studio contenant une feature qui permet de déployer un webpart. Un webpart est un UserControl qui s'insere "facilement" sur une ou plusieurs pages SharePoint.

    Il est possible de plaquer du code dans une page aspx déployée directement depuis SharePoint Designer, cependant :

    - soit le code est inline (ça veut dire directement dans le fichier aspx) et pour celà il faut autoriser explicitement l'execution du code dans CETTE page et celà via le fichier de config. Ce n'est pas du tout idéal car vous faites du spécifique, le jour où la page doit bouger, il faut modifier la config, redémarrer le site, etc... pas terrible

    - soit le code est behind, et donc compilé dans une DLL. Dans ce cas la DLL (assembly) soit etre correctement référencée en entete du l'aspx. De plus la dll doit etre placée dans le dossier Bin du site (dossier bin de toute la webapplication) ou dans le GAC. Là encore je ne trouve pas ce cas idéal. Vous ferez encore du spécifique, avec un déploiement manuel de la DLL, donc des risques en cas de réinstall par exemple...

    Les webpart sont réutilisables sur plusieurs pages. Vous n'avez peut être pas besoin de celà dans la mesure ou vous etes sur que le composant à mettre en place ne doit apparaitre que sur une page donnée et jamais ailleurs.

    Dans ce cas là je vous invite tout de même à voir du coté de Visual Studio 2010 qui propose en plus du webpart un élement appellé "page d'application" (page layout). Ce modèle de projet va mettre pour vous en place tout le squelette du projet, de la page, du code behind, ce qu'il faut pour déployer proprement, etc... il n'y aura plus qu'à coder l'aspx et le code behind à vos besoins....

     

     

    • Proposé comme réponse lionel limozin mercredi 22 juin 2011 08:12
    • Marqué comme réponse alex_citebd mercredi 22 juin 2011 15:50
    mercredi 22 juin 2011 08:12
  • Bonjour,

    Merci à nouveau pour votre réponse.

    Je vais donc essayer de développer mon application via Visual Studio.

    Bonne journée !

     

    mercredi 22 juin 2011 08:48
  • Bon apprentissage ! :)

    Merci de marquer ma reponse comme "Réponse" si elle vous a convenu ! :)

    mercredi 22 juin 2011 09:03