Взгляните на этот код Разработка страницы ASP.NET с MasterPage и локализацией .Сделайте так, чтобы оно соответствовало вашим потребностям.Если вы не можете настроить его.Я постараюсь вам помочь.
Обновление : Хорошо, давайте попробуем это: Добавить новый класс в ваш проект: и перезаписать его содержимое этим
Imports Microsoft.VisualBasic
Imports System.Globalization
Imports System.Threading
Public Class BasePage
Inherits System.Web.UI.Page
Protected Overrides Sub InitializeCulture()
'MyBase.InitializeCulture()
If Session("culture") Is Nothing Then
Session("culture") = "en-US" 'Set default language
End If
Dim cult As String = Session("culture")
Culture = cult
UICulture = cult
MyBase.InitializeCulture()
End Sub
End Class
Теперь перейдите к кодовой части каждой имеющейся у вас страницы и измените предложение Inherits:
Partial Class _Default
Inherits BasePage
После этого вам необходимо реализовать языковой интерфейс на главной странице
<asp:DropDownList ID="ddlCulture" DataTextField="Name" DataValueField="Name"
runat="server" >
<asp:ListItem Value="es-MX">Spanish</asp:ListItem>
<asp:ListItem Value="en-US">English</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnSelect" Text="Select" runat="server" OnClick="btnSelect_Click" />
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
остается событие в файле codebehind главной страницы:
Protected Sub btnSelect_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSelect.Click
Session("culture") = ddlCulture.SelectedValue
Response.Redirect(Request.Path)
End Sub
Теперь ваш веб-сайт готов только к настройке элемента управления, который я использовал для ваших предпочтений.
Осталось только то, что мы использовали Session для хранения пользователяоднако после выбора сеанса пользователю предоставляется язык по умолчанию, поэтому вы можете заменить сеанс постоянным файлом cookie.Прежде всего позвольте этой идее работать, я надеюсь, что переход на cookie не будет проблемой.Я просто хотел, чтобы вы помнили эту концепцию.