Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πως μπορώ να αλλάξω γλώσσα σε Master Page manually από combo?

Îåêßíçóå áðü ôï ìÝëïò bull. Τελευταία δημοσίευση από το μέλος gmlogic στις 09-07-2007, 12:58. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-06-2007, 12:10 32827

    Πως μπορώ να αλλάξω γλώσσα σε Master Page manually από combo?

    Έχω στην σελίδα το παρακάτω:
    <asp:DropDownList ID="LanguageDropDownList" runat="server" AutoPostBack="True"
        OnSelectedIndexChanged="LanguageDropDownList_SelectedIndexChanged"
        OnPreRender="LanguageDropDownList_PreRender">
    <asp:ListItem Value="en">English</asp:ListItem>
    <asp:ListItem Value="el">Greek</asp:ListItem>
    </asp:DropDownList>


    και θέλω μετά στην Master Page κάτι τέτοιο:

    protected override void InitializeCulture()
        {
            string lang = string.Empty;//default to the invariant culture
            HttpCookie cookie = Request.Cookies["SelLang"];

            if (cookie != null && cookie.Value != null)
            {
                lang = cookie.Value;
                Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(lang);
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
            }

            base.InitializeCulture();
        }

    αλλά το MasterPage δεν έχει InitializeCulture :)

    έχει κανείς ιδέα πως γενικότερα μπορεί να γίνει η υλοποίηση;


    VI
  •  11-06-2007, 13:12 32830 σε απάντηση της 32827

    Απ: Πως μπορώ να αλλάξω γλώσσα σε Master Page manually από combo?

    φτιάξε μια κλάση που θα κληρονομεί από την page και θα υλοποιεί την initializeCulture και δήλωσε στις σελίδες ότι είναι αυτής της κλάσης.
    Η δική μου υλοποίηση είναι η εξής:

    Public Class myPage
    Inherits Page

    Protected Overrides Sub InitializeCulture()
    Dim sesLang As String = Session("calture")
    Dim sesLangValid As Boolean = Not (String.IsNullOrEmpty(sesLang))

    If sesLangValid Then
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(sesLang)
    Thread.CurrentThread.CurrentUICulture = New CultureInfo(sesLang)
    End If
    MyBase.InitializeCulture()
    End Sub

    Public Sub changeLang()
    Me.InitializeCulture()
    End Sub

    στο Master βάζω: (η υλοποίηση είναι με κουμπιά αλλά καταλαβαίνεις την ιδέα )
    Protected Sub changeLang(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
    Session("calture") = e.CommandArgument.ToString
    Server.Transfer(Page.AppRelativeVirtualPath)
    End Sub

    και στις σελίδες:
    <%@ Page Language="VB" MasterPageFile="~/sitemaster.master" Inherits="MyPage" %>

    ελπίζω να βοήθησα

  •  13-06-2007, 12:20 32888 σε απάντηση της 32830

    Απ: Πως μπορώ να αλλάξω γλώσσα σε Master Page manually από combo?

    Ευχαριστώ για την άμεση απάντηση.
    Τελικά με class το έκανα.
    thx!

    VI


    VI
  •  09-07-2007, 12:58 33475 σε απάντηση της 32830

    Απ: Πως μπορώ να αλλάξω γλώσσα σε Master Page manually από combo?

    Μήπως θα μπορούσαμε να ανοίξουμε το θέμα πάλι γιατί έχω το ίδιο πρόβλημα
    Δηλ. θέλω πχ μέ να Button στην master page να αλλάζω την culture σε όλες τις σελίδες (λίγο ποιό αναλυτική η περιγραφή πως γίνετε).
    Ευχαριστώ


    George Matzouranis
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems