我有一个母版页和一些有自己控件的内容页面。在母版页内,我有一个下拉列表,其中包含用户可以选择的语言。因此,当用户点击它时,网站内容语言将相应地改变。
我的问题是,当我选择其他语言时,我可以通过在母版页中使用UIculture和文化来成功更改我的网站内容,但我不知道如何从控件(下拉列表)中更改内容页面中的文化确定文化来自母版页。当我调试时,似乎内容页面Page_Load将首先运行,然后在母版页中进行少量编码,以更改其中的语言。
答案 0 :(得分:0)
请按照以下步骤操作:
<%@ MasterType VirtualPath="~/YourMasterPage.master" %>
然后您就可以通过内容页面中的Master.
访问MasterPage属性在内容页面中覆盖InitializeCulture方法并设置UICulture属性。
protected override void InitializeCulture()
{
UICulture = Master.ChosenCulture;
Culture = Master.ChosenCulture;
base.InitializeCulture();
}
要在帖子之间保持ChosenCulture的价值,您可以使用Session:
母版:
public string ChosenCulture
{
get { return Session["ChosenCulture"]; }
set { Session["ChosenCulture"] = value; }
}
在DropDownList的OnChanged事件中,只需设置ChosenCulture属性:
ChosenCulture = MyDropDownList.Value;