【问题标题】:Initialize Session in Masterpage: 'subpage' problem在 Masterpage 中初始化会话:“子页面”问题
【发布时间】:2011-04-04 17:06:51
【问题描述】:

在使用母版页和内容页时,我很难处理页面周期。

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

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

我一直在尝试基于此 URL 的各种不同方法(Page_Load 等):http://msdn.microsoft.com/en-us/library/dct97kc3.aspx,但它从未像应有的那样工作。通常内容页面只有在两次点击后才会被翻译。我无法弄清楚母版页和内容页与点击事件相结合的循环问题。

有什么建议吗?

谢谢。

【问题讨论】:

  • 拜托,你能张贴链接按钮的标记和设置 Session["language"] 的代码吗?

标签: asp.net session master-pages


【解决方案1】:

我曾经通过覆盖母版页中的InitializeCulture 方法来做到这一点。语言代码通过查询字符串传递:

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>

别忘了先验证输入值 :-)

【讨论】:

  • 嗨 volpav 感谢您的回复。我希望可以通过会话来完成,因为我们的团队有严格的规定,除非绝对必要,否则不使用查询字符串。
猜你喜欢
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 2015-11-18
  • 2013-10-14
  • 2017-05-07
相关资源
最近更新 更多