从服务器到客户端获取文化信息的最有效方法是什么

时间:2010-09-02 20:46:21

标签: asp.net-mvc jquery-ui

我让用户为数字,货币和日期格式选择首选语言设置。我已经在过滤器中实现了这个,以设置当前(UI)文化。现在我想在客户端上使用该文化信息来设置jQuery的datepicker。

在每次请求时,将配置的文化设置提供给客户端的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

你可以使用一个帮助方法,将当前用户文化从你存储的地方拉出来(可能是用户会话,cookie,......)。

public static class CultureExtensions
{
    public static string GetCulture(this HtmlHelper htmlHelper)
    {
        var session = htmlHelper.ViewContext.HttpContext.Session;
        return session["culture"] as string ?? "en-US";
    }
}

在你的视图中使用这个助手:

<script type="text/javascript">
$(function() {
    var culture = '<%: Html.GetCulture() %>';
    // TODO: use the culture to set the datepicker
});
</script>

答案 1 :(得分:0)

或许将所选文化值保存在客户端的cookie中,并将cookie值用于datepicker本地化。如果用户从cookie中发送的文化中更改其文化,则只需使用下一个响应覆盖cookie值。