【问题标题】:ASP MVC 4 globalizationScript, jquery and submitted dataASP MVC 4 全球化脚本、jquery 和提交的数据
【发布时间】:2013-06-06 05:16:57
【问题描述】:

我正在尝试使用以下内容:

<script src="/Scripts/globalize.js" type="text/javascript"></script>
@Html.GlobalizationScript("~/Scripts/cultures/","~/Scripts/cultures/")

因此,不显眼的客户端验证适用于客户端文化,但是,当数据发布到服务器时,它并没有像人们期望的那样被“翻译”成服务器文化。那么,如果它仍然无法在服务器端工作,那么有效的客户端验证有什么意义呢?我错过了什么吗?有什么简单的方法可以做到这一点?就像 google chrome html 5 日期选择器一样,使用本地日期但将其转换为服务器(或不变)文化。

【问题讨论】:

    标签: jquery asp.net-mvc globalization unobtrusive-validation


    【解决方案1】:

    基本上,您需要在服务器和客户端之间同步文化。

    首先,您需要将服务器文化传递给客户端。你可以把它放在你的视图/布局 HTML 语言属性中:

    <html lang="@System.Globalization.CultureInfo.CurrentUICulture.Name">
    

    另一种选择是将此信息放在元标题中

    获得这些信息后,您需要通过执行以下操作在 Globalize.js 中初始化客户端文化:

    $(document).ready(function () {
    
        // Set Globalize to the current culture driven by the html lang property
        var currentCulture = $("html").prop("lang");
        if (currentCulture) {
            Globalize.culture(currentCulture);
        }
    });
    

    记得包含正确的 globalize.culture js 文件。

    ~/scripts/globalize/globalize.culture.xx-XX.js
    

    来自 John Reilly 的更多信息 this post,解释得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-07
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多