Cambio lingua in sito con routing

venerdì 18 gennaio 2013 - 18.29
Tag Elenco Tags  C#  |  .NET 4.0

Gemini Profilo | Expert

Ciao a tutti
sto realizzando un sito multilingua e utilizzo anche il routing si asp.net
Ho definito i seguenti routes:
routes.MapPageRoute("Prodotti", "{lingua}/prodotti/{categoria}/{codice_prodotto}-{prodotto}.aspx", "~/prodotto.aspx");
routes.MapPageRoute("Offerte", "{lingua}/offerte/{codice_offerta}-{offerta}.aspx", "~/offerta.aspx");
routes.MapPageRoute("Home", "{lingua}/{pagina}.aspx", "~/{pagina}.aspx");

Ora, se un utente si trova nella pagina: www.miosito.com/it/contatti.aspx e clicca sulla lingua inglese deve andare sulla pagina: www.miosito.com/en/contatti.aspx
Come posso fare?
In un sito senza routing, faccio così:
Session["Culture"] = new CultureInfo("en-GB");
Session["UICulture"] = new CultureInfo("en-GB");
Server.Transfer(Request.Path);

ma in questo caso non va bene.

Ho pensato di fare il controllo sul CultureInfo, ma non va bene perchè se un utente clicca da un motore di ricerca su: www.miosito.com/en/contatti.aspx e CultureInfo è impostato su una lingua diversa, mi caricherà la pagina con la lingua sbagliata.

Grazie mille
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5