18 messaggi dal 30 marzo 2007
Salve,
Ho una pagina ereditata da una mia classe:

    public class MiaPagina : System.Web.UI.Page
    {
            ProfileCommon CurrentProfile = (ProfileCommon)HttpContext.Current.Profile;

            if (!Thread.CurrentThread.CurrentCulture.Name.Equals(CurrentProfile.Lingua))
            {
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(CurrentProfile.Lingua);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(CurrentProfile.Lingua);
            }
    }


E per il cambio di lingua ho un userControl:

public partial class SwitchLanguage : System.Web.UI.UserControl
{
    protected void ChangeLanguage(object sender, ImageClickEventArgs e)
    {        
        ImageButton Flag = (ImageButton) sender;

        Profile.Lingua = Flag.CommandArgument;
        Profile.Save();
    }
}


Il problema sta che quando io voglio ottenere la lingua corrente, usando:

Thread.CurrentThread.CurrentCulture


Ottengo la "Penultima" cultura impostata!

Usando:

Profile.Lingua


Ottengo la cultura corrente.

Se io utilizzo miei controlli, posso benissimo prendere la lingua dal profilo,
Ma se io utilizzo un controllo SiteMapPath, ho il problema della lingua non aggiornata.

Come risolvo??
Grazie
Modificato da MichelePa87 il 11 aprile 2007 19.09 -
Modificato da MichelePa87 il 11 aprile 2007 19.12 -

Michele Giacalone
[WebRunners] - Developer
Direi che il problema sta nella Pipeline di esecuzione ovvero la routine che setta la lingua nel thread viene prima dell'evento generato dal cambio della lingua...
direi che la soluzione piu' comoda potrebbe essere, dopo aver salvato il dato nel profile, eseguire un Response.Redirect cosi' da iniziare una nuova richiesta/nuova pipeline che verra' eseguira con le nuove informazioni... in poche parole lo stesso concetto del login
18 messaggi dal 30 marzo 2007
Esatto, avevo risolto in questo modo.
Grazie mielle della risposta

Michele Giacalone
[WebRunners] - Developer

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.