在Masterpage中初始化会话:'子页面'问题

时间:2011-04-04 17:06:52

标签: asp.net session master-pages

使用masterpages和contentpages时,我在使用页面循环时遇到了困难。

我的母版页有两个链接按钮,用于选择语言(使用资源)。单击这些按钮后,我创建会话[“语言”]。

我的目标是在点击按钮后翻译我的母版页并翻译内容页面。

我一直在尝试各种不同的方法(Page_Load等)基于这个网址:http://msdn.microsoft.com/en-us/library/dct97kc3.aspx但它永远不会像它应该的那样工作。通常,内容页面仅在两次单击后才会被翻译。我无法弄清楚母版页和内容页面之间的循环问题以及点击事件。

有什么建议吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我曾经通过覆盖母版页中的InitializeCulture方法来完成此操作。语言代码通过query-string传递:

protected override void InitializeCulture()
{
    if (!string.IsNullOrEmpty(base.Request["language"]))
    {
        System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture(base.Request["language"]);

        System.Threading.Thread.CurrentThread.CurrentCulture = culture;
        System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
    }
}

链接将如下所示:

<a href="?language=da-DK">Vis på Dansk</a>

不要忘记首先验证输入值: - )