相关疑难解决方法(0)

在ASP.Net MVC应用程序中设置文化

在ASP.net MVC应用程序中设置Culture/UI Culture的最佳位置是什么

目前我有一个CultureController类,如下所示:

public class CultureController : Controller
{
    public ActionResult SetSpanishCulture()
    {
        HttpContext.Session["culture"] = "es-ES";
        return RedirectToAction("Index", "Home");
    }

    public ActionResult SetFrenchCulture()
    {
        HttpContext.Session["culture"] = "fr-FR";
        return RedirectToAction("Index", "Home");
    }
}
Run Code Online (Sandbox Code Playgroud)

以及主页上每种语言的超链接,其链接如下:

<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但我认为有一个更合适的方法来做到这一点.

我正在使用以下ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx阅读文化 .我有点像MVC菜鸟,所以我不相信我会把它设置在正确的位置.我不想在web.config级别这样做,它必须基于用户的选择.我也不想检查他们的http-header以从他们的浏览器设置中获取文化.

编辑:

只是要明确 - 我不是要决定是否使用会话.我对此感到高兴.我想要解决的是,如果最好在文化控制器中执行此操作,该控制器具有要设置的每个文化的操作方法,或者在MVC管道中是否有更好的位置来执行此操作?

asp.net-mvc culture localization

82
推荐指数
5
解决办法
12万
查看次数

JavaScript中是否有将函数转换为特定区域设置格式的功能?

是否有内置的JavaScript函数将字符串转换为特定的语言环境(在我的情况下是欧元)?

例如50.00应该转换为50,00 €.

javascript numbers currency

37
推荐指数
5
解决办法
6万
查看次数

检测浏览器显示语言

通过使用以下代码

string[] languages = HttpContext.Current.Request.UserLanguages;
string chosenLanguage = languages[0];
Run Code Online (Sandbox Code Playgroud)

如果我安装了3种语言(例如"da(danish)","sv(swedish)"和"en(english)"),那么语言数组如下所示:

[0]: "en-US"
[1]: "en;q=0.8"
[2]: "da;q=0.6"
[3]: "sv;q=0.4"
Run Code Online (Sandbox Code Playgroud)

即使我将显示语言更改为"丹麦语"而不是"英语",该数组也不会更改任何值.至于我可以从其他人写的关于这个主题的文章中读到,它的[0]价值应该是浏览器的选择语言,但它仍然是"en-US".

有没有其他方式来注册浏览器的语言或我做错了什么?

c# asp.net

18
推荐指数
2
解决办法
4万
查看次数

7
推荐指数
3
解决办法
2万
查看次数