Forums Neueste Beiträge
 

Sprache (Culture) ändern aus Javascript

18/03/2008 - 12:15 von Manfred Müller | Report spam
Ich habe noch ein Problem bezüglich Sprachenànderung, bzw. Culture:

In meiner ersten Version wurde die Session-Sprache automatisch bei Änderung
von ddlSprache geàndert:
Protected Sub ddlSprache_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles ddlSprache.SelectedIndexChanged
Session("Sprache") = Me.ddlSprache.SelectedValue
Response.Redirect(Request.Url.LocalPath)
End Sub
Protected Overrides Sub InitializeCulture()
If Session("Sprache") <> "" Then
Dim ci As New
System.Globalization.CultureInfo(Session("Sprache").ToString)
System.Threading.Thread.CurrentThread.CurrentUICulture = ci
System.Threading.Thread.CurrentThread.CurrentCulture = ci
End If
End Sub

Der Nachteil war ja das Response.Redirect. (Da ich die Seite mit
ShowModalDialog ohne Browser-Balken aufrufe, wird die Seite mit
response.redirekt im normalen Browser aktualisiert)


Mit Hilfe von Stefan Falz habe ich dann hingekriegt, dass bei Änderung der
Sprache das Bild àndert ohne die Seite neu aufzubauen (Danke Stefan!):
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master"
AutoEventWireup="false" CodeFile="ClientCallback11.aspx.vb"
Inherits="ClientCallback11" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server">

<script type="text/javascript">
function Bildwechsel(element)
{
var url = document.getElementById( "Sprache" ).options[ element
].value;
document.getElementById( "Fahne" ).src = "/Bilder/" + url +".gif";

alert(document.getElementById( "Fahne" ).src)
}
</script>

<select name="Sprache" onchange="Bildwechsel( this.selectedIndex )"
size="1">
<option selected="selected" value="de-CH">Deutsch</option>
<option value="fr-CH">Französisch</option>
<option value="it-CH">Italienisch</option>
<option value="tr-TR">Türkisch</option>
<option value="en-GB">Englisch</option>
</select>
<img id="Fahne" alt="Deutsch" src="/Bilder/de-CH.gif" />
</asp:Content>

Nun möchte ich gleichzeitig die Sprache (Culture) àndern. Da hatte ich drei
Wege im Kopf:
1. Aufruf Sub aus der Javascript-Funktion „Bildwechsel“.
2. Sprach-Wechsel, bzw. Culture-Wechsel in der Javascript-Funktion
3. Aufruf der vb-Sub nach dem Javascript-Aufruf

1 wird aber wahrscheinlich nicht unterstützt Bei 2 habe ich noch nicht
herausgefunden wie der Code dazu ist und bei 3 ob und wie dies möglich ist.
Habt ihr eine Idee welche die beste Lösung ist?

Besten Dank für eure Hilfe

Manfred
 

Lesen sie die antworten

#1 Thomas Bandt
18/03/2008 - 20:53 | Warnen spam
Manfred Müller schrieb:
In meiner ersten Version wurde die Session-Sprache automatisch bei Änderung
von ddlSprache geàndert:



Anderes Thema: die Website ist öffentlich? Wenn ja,
dann gehört die Sprache nicht in die Session sondern
zwingend in die URL, und sonst nirgendwo hin.

Sonst làsst sich die Seite weder bookmarken noch
von einer Suchmaschine indizieren.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de - Beratung, Entwicklung
http://www.dotnetjob.de - .NET-Stellenbörse
https://www.xing.com/net/asp.net/ - ASP.NET bei XING
http://blog.thomasbandt.de - Thomas goes .NET

Ähnliche fragen