Ciao ragazzi, ho l'esigenza di cambiare lingua alla mia pagina web. Seguendo vari esempi elenco quello che ho fatto:
1- Ho aggiunto una cartella App_GlobalResources al mio sito.
2- All'interno di essa ho creato Common.resx e Common.it-IT.resx
3- Nella tabella di Common ho: Name=Pr , Value=inglese
4- Nella tabella di Common.it-IT ho: Name=Pr , Value=italiano
Nel code Behind:
codice:
protected override void InitializeCulture()
{
string culture = Request.Form["DropDownList5"];
CultureInfo c;
if (string.IsNullOrEmpty(culture))
culture = "English";
if (culture == "English")
{
c = CultureInfo.CreateSpecificCulture("en-US");
Thread.CurrentThread.CurrentCulture = c;
Thread.CurrentThread.CurrentUICulture = c;
}
if (culture == "Italiano")
{
c = CultureInfo.CreateSpecificCulture("it-IT");
Thread.CurrentThread.CurrentCulture = c;
Thread.CurrentThread.CurrentUICulture = c;
}
base.InitializeCulture();
}
protected void Page_Load(object sender, EventArgs e)
{
Label9.Visible=true;
}
.................
<asp:Label ID="Label9" runat="server"
style="top: 300px; left: 600px; position: absolute; height: 19px; width: 34px"
Text="<%$ Resources: Common , Pr %>" Visible="false" > </asp:Label>
Il mio problema è che dopo il primo cambio di lingua da DropDownList i tentativi successivi di cambio non funzionano..Mi spiego meglio, la pagina si carica con testo "inglese" , cambio la lingua e diventa "italiano" , da adesso anche cambiando lingua da dropdownlist il testo della label non cambia...
Ho notato che se lascio la label sempre visibile invece funziona benissimo..Come mai?
E' ovvio che ho fatto un esempio, il mio codice è più complesso ..Ho l'esigenza sia di cambiare lingua che quella di fare apparire e scomparire la label..
Altra domanda: quando viene invocato InitializeCulture () ??
Grazie