Good day! I do a programmatic language change as described here . Why created a separate page for changing the language, here's the code:
<%@ Page Title="" Language="VB" AutoEventWireup="false" CodeFile="ChangeLanguage.aspx.vb" Inherits="Default2" %> <%@ Import Namespace="System.Threading" %> <%@ Import Namespace="System.Globalization" %> <script runat="server"> Protected Overrides Sub InitializeCulture() If Request.Form("ListBox1") IsNot Nothing Then Dim selectedLanguage As String = _ Request.Form("ListBox1") UICulture = Request.Form("ListBox1") Culture = Request.Form("ListBox1") System.Threading.Thread.CurrentThread.CurrentCulture = _ CultureInfo.CreateSpecificCulture(selectedLanguage) System.Threading.Thread.CurrentThread.CurrentUICulture = New _ CultureInfo(selectedLanguage) End If MyBase.InitializeCulture() End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ListBox ID="ListBox1" runat="server"> <asp:ListItem Value="en" Selected="True">English</asp:ListItem> <asp:ListItem Value="ru">Русский</asp:ListItem> </asp:ListBox><br /> <asp:Button ID="Button1" runat="server" Text="Set Language" meta:resourcekey="Button1" /> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/default.aspx">HyperLink</asp:HyperLink> <br /> </div> </form> </body> </html>
On this page, the language changes normally, but after switching to any other page, the language is reset to "default". What am I doing wrong, how to implement a language change for all pages at once?
.NET 4.0.
Web Developer 2010 Express.