none
Insertar lenguaje en URL (para sitio multi idioma) sin usar MVC RRS feed

  • Pregunta

  • Saludos, soy nuevo en programación ASP.net, estoy desarrollando un proyecto web multi idioma, en el cual hay 2 idiomas (es-AR y en-US) que pueden ser seleccionados en una lista desplegable (el sitio incluye archivos de recursos .resx dentro de la carpeta App_LocalResources) dicho proyecto está disponible para descargar aquí: http://www.mediafire.com/download/4d7dbdthh2094s6/test-idiomas-urls.rar . Lo que necesito es que cuando seleccione cualquiera de los idiomas el lenguaje escogido aparezca al final de la URL, de cualquiera de estas formas: example.com/Default.aspx?culture=es-AR ó example.com/Default.aspx?lang=es-AR ó example.com/Default.aspx?id=es-AR

    ¿Cómo podría lograrlo?

    Este es el código del archivo MasterPage.master.vb

    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Web
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Configuration
    Imports System.Net.NetworkInformation
    Imports System.Globalization
    Imports System.Threading
    
    
    Partial Public Class MasterPage
        Inherits System.Web.UI.MasterPage
        Protected Sub Page_Load(sender As Object, e As EventArgs)
            If Session("myapplication.language") IsNot Nothing AndAlso Not IsPostBack Then
                ' Set drop down current language
                DropDownList_Language.ClearSelection()
                DropDownList_Language.Items.FindByValue(Session("myapplication.language").ToString()).Selected = True
            End If
        End Sub
        Protected Sub DropDownList_Language_SelectedIndexChanged(sender As Object, e As EventArgs)
            ' Set the session variable with the selected language
            Select Case DropDownList_Language.SelectedValue
                Case "en-US"
                    Me.SetMyNewCulture("en-US")
                    Exit Select
                Case "es-AR"
                    Me.SetMyNewCulture("es-AR")
                    Exit Select
                Case Else
                    Exit Select
            End Select
            Response.Redirect(Request.Path)
        End Sub
    
        Private Sub SetMyNewCulture(culture As String)
            Session("myapplication.language") = culture
        End Sub
    End Class

    lunes, 20 de abril de 2015 21:05

Respuestas

  • Hola jose-vasquez-peru,

    Gracias por consultar en los foros. Te comparto esta conversación en donde se plantea la misma situación, espero te sea de utilidad:   Desarrollar sitio multiidioma

    Saludos,

    Karen.

    _________________


    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.

    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    jueves, 23 de abril de 2015 17:52
    Moderador