stai attento che il framework va per "best match" con le Culture, altrimenti torna indietro. Cioe' se trova un file che elenca risorse di una lingua usata paese scelto, la considera (l'inglese che parlano in US, l'inglese che parlano in UK, non si ferma ad una sola). Usa la prima che trova, altrimenti rimane la precedente.
Comunque ho sempre usato questo (codice preso tempo fa da S.O.)
Files:
App_GlobalResources/Messages.resx (c'e' una classe custom, "Messages", ma non è utile riportarla)
App_GlobalResources/Messages.it-IT.resx
Nel web.config
codice:
<globalization uiCulture="it" culture="it-IT" />
La lingua viene scelta nella pagina di Login e rimane fino al successivo logout.
In questa, alla pressione del Button [Login], se l'utente è riconosciuto:
codice:
string defaultLanguage = Thread.CurrentThread.CurrentUICulture.ToString(); // prende quella del Web.Config
if (DDLang.SelectedValue != String.Empty)
{
String selectedLanguage = DDLang.SelectedValue;
UICulture = selectedLanguage;
Culture = selectedLanguage;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(selectedLanguage);
}
else
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(defaultLanguage);
Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(defaultLanguage);
}
base.InitializeCulture();
ed infine nelle pagine:
codice:
<a href="#" id="hrefschema"><span class="ui-icon"></span><%= Resources.Messages.lbl_hrefschema %></a>
base.InitializeCulture(); c'e' nel tuo codice ?
poi, hai controllato se i i cookies sono abilitati / httpSession tutto ok ? (mi pare li usi, la butto li)