Récupérer un provider de sitemap dans le web.config [Résolu]

Signaler
Messages postés
29
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2009
-
garnier54
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018
-
Bonjour,

j'ai suivi les conseils de JesusOnline sur ce topic très proche de mon problème http://www.aspfr.com/forum/sujet-EXTRAIRE-DONNEES-WEB-CONFIG_1097346.aspx#2 mais sans succès !

j'ai deux XmlSiteMapProvider défini dans mon web.config,comme cela :
<system.web>
    <siteMap enabled="true" defaultProvider="SitemapDefault">
      
        <clear/>
        
        
      

    </siteMap>


Dans mon masterpage, je récupère la valeur d'une variable Session[language] et selon sa valeur, je voudrais modifier la propriété SiteMapProvider de mon SiteMapDataSource ; MAIS COMMENT récupérer ce %*¨£%¨de provider ? Pour l'instant, j'utilise la méthode GetSection de la classe ConfigurationManager.

Voilà les erreurs que j'obtiens :
Si j'essai d'aller direct sur la bonne section, comme ça :XmlSiteMapProvider section (XmlSiteMapProvider)ConfigurationManager.GetSection("system.web/siteMap/providers"); > getsection me renvoie un null...pourquoi ?

Je me suis dit que la section était trop en profondeur alors j'ai voulu faire comme ça (afin de pointer par après sur section.providers[0]) :SiteMap section (SiteMap)ConfigurationManager.GetSection("system.web/siteMap");> mais pas possible de déclarer un objet sitemap comme ça....

Ca fait depuis la journée que je suis sur cette gestion de plusieurs sitemap...me parlez pas de localization, ça correspond pas à ce que je veux faire (et c'est bien triste...). Là je ne vois pas ce qui cloche....enfin si, mais je vois pas comment résoudre.

En bref : comment récupérer un provider en particulier dans le web.config ????

Merci de m'aider, je débute en asp.net (et en programmation de manière générale....la POO c'est un peu bancal mais je travaille mon équilibre ! )

ps: je suis en webform 3.5

3 réponses

Messages postés
29
Date d'inscription
vendredi 10 octobre 2008
Statut
Membre
Dernière intervention
22 juin 2009

ah ben finalement, je me réponds moi-même....ma solution est à pleurer de simplicité (je suis pourtant bien sûre d'avoir commencé par là...ça fonctionnait pas, me semble-t-il ??!!)

Bref, j'ai pas du tout besoin d'aller dans le web.config, je peux indiquer directement le nom du provider voulu...ce qui nous donne :
SiteMapDataSourcePrincipal.SiteMapProvider = "SitemapFr";

Voilà, ensuite je change juste le string en fonction des cases (je suis dans un switch).

Enfin, ça m'aura toujours permis de découvrir la classe Configuration.

Bye
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018

bonjour,

pour moi ca marche pas (je suis en vb.net)


sur
SiteMapDataSource1.SiteMapProvider = "Admin"
ca plante avce le message

{"La référence d'objet n'est pas définie à une instance d'un objet."}

avez vous une idee merci

nicolas
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018

pourtant j 'ai suivi ton exemple

ci joint mon web.config


<system.web>
<siteMap>







</siteMap>

nicolas