为什么我的代码不会改变我的网站的当前文化?

时间:2015-09-30 13:19:16

标签: c# asp.net-mvc localization globalization

我有一个需要本地化的网站,我已经成功实现了这一点,通过在Web.Config中将文化设置为auto并使用我的resx文件进行翻译,但是我也希望客户能够手动更改网站的翻译作为备份。

我的文本框中有一个表单,有多种语言选择,根据以下代码将此选项发布到控制器

[AllowAnonymous]
        [HttpPost]
        public ActionResult SelectLanguage(LoginViewModel model)
        {
            switch (Request["lang"])
            {
                case "English":
                   CultureInfo.CurrentCulture=new CultureInfo("en-GB");
                    CultureInfo.CurrentUICulture = new CultureInfo("en-GB");
                    break;
                case "French":
                    CultureInfo.CurrentCulture = new CultureInfo("fr-FR");
                    CultureInfo.CurrentUICulture = new CultureInfo("fr-FR");
                    break;



            }
            var currentCulture = CultureInfo.CurrentCulture;
            return RedirectToAction("Index");

        }

问题在于,虽然我的currentCulture和CurrentUICulture确实发生了变化,但页面仍未翻译,但是如果我在Web.config中手动更改,我的网站会完美翻译!

这里有什么我想念的吗?

提前致谢=]

更新 涉及使用InitializeCulture的现有答案无效AFAIK,因为WebPages中的事件在MVC中自然不可用

0 个答案:

没有答案