Posez votre question Signaler

ASP.NET et C# [Résolu]

Edoth 5Messages postés 21 avril 2008Date d'inscription - Dernière réponse le 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
Lire la suite 

ASP.NET et C# »

4 réponses
Réponse
+0
moins plus
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
}
}

}
Edoth- 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>
youpi - 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
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)
Ajouter un commentaire
Ce document intitulé « ASP.NET et C# » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?