Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [aps.net] localizzazione

    Salve a tutti ho creato dei file di localizzazione (globali) in App_GlobalResource chiamati:
    - resource1.resx
    - resource1.it.resx
    -resource1.en.resx

    Nella pagina html ho inserito una dropdown e una label ed al cambio della dropdown la label cambia il testo localizzandolo nel modo giusto.

    codice:
    <asp:label id="Label1" runat="server" Text="<%$ Resources:Resource1, Menu1 %>" />         
    
            
     <asp:DropDownList ID="ddChangeLanguage" runat="server" AutoPostBack="True">    
             <asp:ListItem Value="it" Selected="True">IT</asp:ListItem>              <asp:ListItem Value="en">EN</asp:ListItem>    
         </asp:DropDownList>
    questo il .cs
    codice:
    protected override void InitializeCulture()        
     {                
    if (Request.Form["ddChangeLanguage"] != null)             
    {                
     String selectedLanguage = Request.Form["ddChangeLanguage"]; 
                    UICulture = selectedLanguage;
                     Culture = selectedLanguage;                 
    
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(selectedLanguage);                 
    
    Thread.CurrentThread.CurrentUICulture = new CultureInfo(selectedLanguage);                              
    }                     
     base.InitializeCulture();                  
     }
    Ora il problema sorge se aggiungo un menu che prende i dati dal Web.Sitemap. Il testo viene localizzato bene però al cambio della lingua non fa nulla.
    Posto il sitemap


    codice:
    <?xml version="1.0" encoding="utf-8" ?> 
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization="true"> 
      <siteMapNode url="" title=""  description="">   
      <siteMapNode url="" title="$resources:Resource1,Menu1" description="$resources:Resource1,Menu1" />  
       <siteMapNode url="" title="$resources:Resource1,Menu1" description="$resources:Resource1,Menu1"/> 
      </siteMapNode>              
     </siteMap>
    Qualcuno si è già scontrato con questo problema?
    Cosa sbaglio?

  2. #2
    purtroppo il bind del menù, avviene solo la prima volta. Nei successivi postback effettuati dalla tua DropDownList, il menù non viene ricaricato.

    Dovresti agganciare l'evento SelectedIndexChanged alla tua DropDownList, e qui richiamare il DataBind del menù:
    codice:
    protected void ddChangeLanguage_SelectedIndexChanged(object sender, EventArgs e)
    {
        this.Menu1.DataBind();
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.