ASP.NET et C#

Résolu
Edoth Messages postés 19 Statut Membre -  
 youpi -
Bonjour,
Je travaille sur un site web ASP.NET en C# j'ai une master page avec ma banderolle en haut mon menu a gauche et un contentplaceholder sur la droite.
Mon menu est alimenté par un *.sitemap en xml.
J'ai deux types d'utilisateurs qui se connectent à mon site les users qui consultent simplement et les admin qui peuvent consulter et modifier la BD.
Je gère les deux types d'utilisateurs par des variables de session mais tant qu'ils ne se sont pas identifiés je ne peux pas savoir quel *.sitemap charger dans mon menu donc je voudrais trouver le moyen de savoir si mon contentplaceholder contient la page Index.aspx ou pas pour pouvoir cacher le menu si l'utilisateur ne s'est pas encore authentifié

merci d'avance
Configuration: Windows XP
Firefox 2.0.0.14

1 réponse

  1. Edoth Messages postés 19 Statut Membre
     
    En fait j'ai résolu mon problème en créant une page indépendant de ma master page et qui redirige vers une page d'accueil quand l'authentification se fait.
    Le problème est que le menu ne charge pas le bon *.sitemap

    voici mon code :

    public partial class Master : System.Web.UI.MasterPage
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (Session["CurUserGroup"].ToString() == "Administrateur")
    {
    Menu1.DataSourceID = "SiteMapHevos"; // SiteMapHevos représente le sitemap admin
    }
    else if (Session["CurUserGroup"].ToString() == "Utilisateur")
    {
    Menu1.DataSourceID = "SiteMap2Hevos"; // SiteMap2Hevos représente le sitemap user
    }
    }

    }
    0
    1. Edoth Messages postés 19 Statut Membre
       
      en fait j'ai résolu mon problème seul il suffisait de rajouter du code dans le fichier web.config :




      <!--
      La section <SiteMap> permet de définir plusieurs SiteMap pour générer
      le menu différement si un administrateur ou un simple utilisateur se
      connecte au site.
      -->
      <siteMap>
      <providers>
      <add name="SiteMapHevos"
      type="System.Web.XmlSiteMapProvider"
      siteMapFile="~/Web.sitemap" />
      <add
      name="SiteMap2Hevos"
      type="System.Web.XmlSiteMapProvider"
      siteMapFile="~/Web2.sitemap" />
      </providers>
      </siteMap>
      0
      1. youpi > Edoth Messages postés 19 Statut Membre
         
        Est ce que quelqu'un pourrait m'aider ? Je souhaite faire la même chose, mais ce code ne marche pas chez moi .
        La comilation s'arrête à <siteMap> !
        On m'affiche ça :

        Configuration Error
        Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

        Parser Error Message: Unrecognized configuration section siteMap.

        J'ai trouvé ce code aussi sur internet, à ajouter à la page web.config :


        <siteMap defaultProvider="XmlSiteMapReader" enabled="true">
        <providers>

        <add name="XmlSiteMapReader" siteMapFile="Web.sitemap" type="XmlSiteMapProvider, System.Web, Version=1.1.3300.0,
        Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" securityTrimmingEnabled="True"/>

        </providers>

        </siteMap>
        J'ai l'impression qu'ici c'est le defaultProvider qui bloque ...

        de l'aide pleaaase.

        Merci d'avance
        0
      2. youpi > youpi
         
        c'est bon! j'avais collé le code dans le mauvais élément (il fallait le coller dans system.web)
        0