Foros del Web » Programando para Internet » ASPX (.net) »

Aplicacion con cookies multi idiomas

Estas en el tema de Aplicacion con cookies multi idiomas en el foro de ASPX (.net) en Foros del Web. Estoy haciendo una web multiidiomas y me sale un error que no se por que, aqui el codigo. ublic Class pagebase Inherits System.Web.UI.Page 'Protected Overrides ...
  #1 (permalink)  
Antiguo 19/05/2007, 17:53
 
Fecha de Ingreso: octubre-2003
Ubicación: Lima
Mensajes: 319
Antigüedad: 21 años, 2 meses
Puntos: 2
Aplicacion con cookies multi idiomas

Estoy haciendo una web multiidiomas y me sale un error que no se por que, aqui el codigo.

ublic Class pagebase
Inherits System.Web.UI.Page
'Protected Overrides Sub InitializeCulture()
' ' override virtual method InitializeCulture() to check if profile contains a user language setting
' Dim UserCulture As String = HttpContext.Current.Profile.GetPropertyValue("Pref erredCulture").ToString()
' If UserCulture <> "" Then
' ' there is a user language setting in the profile: switch to it
' Thread.CurrentThread.CurrentUICulture = New CultureInfo(UserCulture)
' Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture)
' End If

'End Sub 'InitializeCulture
Protected Overrides Sub InitializeCulture()
' override virtual method InitializeCulture() to check if profile contains a user language setting
Dim UserCulture As String
If IsNothing(HttpContext.Current.Request.Cookies("Dan ielsCookie")) = True Then
UserCulture = ""
Else
Dim cookie As HttpCookie = HttpContext.Current.Request.Cookies("DanielsCookie ")
UserCulture = cookie.Item("DanielsCookie").ToString()


End If

If UserCulture <> "" Then
' there is a user language setting in the profile: switch to it
Thread.CurrentThread.CurrentUICulture = New CultureInfo(UserCulture)
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture)

End If



End Sub
Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
'' si la cookie no existe creala
'If IsNothing(HttpContext.Current.Request.Cookies("Dan ielsCookie")) = True Then
' Dim cookie As HttpCookie = HttpContext.Current.Request.Cookies("DanielsCookie ")
'End If

End Sub 'Page_Load

Protected Sub es_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)
Dim cookie As New HttpCookie("DanielsCookie")
cookie.value = "es"
Response.Cookies.Add(cookie)
' UserCulture = Request.Cookies("DanielsCookie").Value
Response.Redirect(Request.Url.LocalPath)

End Sub

Protected Sub en_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs)

Dim cookie As New HttpCookie("DanielsCookie")
cookie.Value = "en"
Response.Cookies.Add(cookie)
' UserCulture = Request.Cookies("DanielsCookie").Value
Response.Redirect(Request.Url.LocalPath)


'HttpContext.Current.Profile.SetPropertyValue("Pre ferredCulture", "en")
''Force re-initialization of the page to fire InitializeCulture()
' SI la cookie no existe creala
End Sub



End Class


El error que me sale es en la linea

UserCulture = cookie.Item("DanielsCookie").ToString()

dice que Referencia a objeto no establecida como instancia de un objeto. NO estoy seguro si es uqe me falta configurar algo en el web.config quizas sea eso.... pero agradeceria mucho su ayuda, por lo demas el codigo y la implementacion funcionan bien,


Graciasss
  #2 (permalink)  
Antiguo 29/05/2007, 05:34
Avatar de javiermil  
Fecha de Ingreso: agosto-2004
Mensajes: 509
Antigüedad: 20 años, 4 meses
Puntos: 2
Re: Aplicacion con cookies multi idiomas

Es que el tema es que la cookie se llama DanielsCookie y no tiene una propiedad con ese nombre. Al definir la cookie tu estas asignandole una propiedad única "value" donde pones "en" pero no estas declarando ningun value con un nombre de clave DanielsCookie que es donde estás accediendo. En tu caso el acceso debería ser en vez de:

UserCulture = cookie.Item("DanielsCookie").ToString()

tendría que se

UserCulture = cookie.Value.ToString()

Un saludo
  #3 (permalink)  
Antiguo 04/06/2007, 02:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 85
Antigüedad: 20 años, 8 meses
Puntos: 1
Re: Aplicacion con cookies multi idiomas

No tendrías q recoger la cookie de la siguiente manera?

Request.Cookies["DanielsCookie"].Value

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:52.