Bonjour,
je suis en train de développer un projet en asp.net (4.0).
Ce site est composé d'une page Master sur laquelle j'ai un menu alimenté par un fichier xml et de plusieurs pages de contenu (dynamiques, alimentées par une db SQL). Le site sera disponible en Français et en néerlandais.
Mon problème est le suivant :
Lorsque les visiteurs iront sur l'url du site www.monsite.be, celui-ci sera par défaut affiché en français.
Dans le Page_Load() de ma page Master, il n'y a aucun code.
J'ai rajouté ceci dans mon fichier web.config:
Voici le code de ma page Master (pas de code dans le Page_Load)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <siteMap defaultProvider="MenuFR" enabled="true"> <providers> <add name="MenuFR" type="System.Web.XmlSiteMapProvider" siteMapFile="MenuFR.sitemap"/> <add name="MenuNL" type="System.Web.XmlSiteMapProvider" siteMapFile="MenuNL.sitemap"/> </providers> </siteMap>
Donc, le visiteur choisit sa langue pour la visite du site à l'aide de 2 liens (Français, Néerlandais)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 protected void btn_francais_Click(object sender, EventArgs e) { Session["CodeLangue"] = "FRA"; MenuCharge("FRA"); Response.Redirect("content.aspx?IDCat=1"); } protected void btn_neerlandais_Click(object sender, EventArgs e) { Session["CodeLangue"] = "NLD"; MenuCharge("NLD"); Response.Redirect("content.aspx?IDCat=1"); } private void MenuCharge(string codeLangue) { codeLangue = codeLangue.ToUpper(); switch (codeLangue) { case "FRA": SiteMapDataSource1.SiteMapProvider = "MenuFR"; break; case "NLD": SiteMapDataSource1.SiteMapProvider = "MenuNL"; break; } }
Problème, ce changement se fait à moitié.
En fait, lorsque je clique sur le lien "Néerlandais", le contenu de ma page est bien traduit (bien alimenté par la db SQL). Ma variable de session "CodeLangue" est également bien alimentée ca je m'en sert pour faire mon select dans la base de données selon le code langue choisi par le visiteur)
Par contre, le menu reste en Français.
Ca fait plusieurs jours (par intermitence ) que je bloque sur le sujet.
Quelqu'un aurait une idée pour me débloquer la situation?
Merci d'avance pour vos coups de main.
Penchu
Partager