ASP.NET et C#

Résolu/Fermé
Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011 - 21 avril 2008 à 08:51
 youpi - 8 juin 2009 à 16:44
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
A voir également:

1 réponse

Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011
21 avril 2008 à 10:03
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
Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011
21 avril 2008 à 15:11
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
youpi > Edoth Messages postés 19 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 2 février 2011
8 juin 2009 à 16:18
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
youpi > youpi
8 juin 2009 à 16:44
c'est bon! j'avais collé le code dans le mauvais élément (il fallait le coller dans system.web)
0