【问题标题】:Javascript date picker view format asp.net MVCJavascript 日期选择器视图格式 asp.net MVC
【发布时间】:2016-07-03 10:42:52
【问题描述】:

经过长时间的战斗,我终于可以使用日期选择器了,但这还没有结束......

我的问题是:我希望日期选择器向客户显示 dd/mm/yy 格式,所以我放了这个脚本:

<script>
    $(document).ready(function() {
        $('.date').datepicker({ dateFormat: 'dd/mm/yy'});
    });
</script>

我用这个来调用它(修改我的对象中的日期属性):

@Html.TextBox("date", null, new { @class = "date", @Value = DateTime.Today.Date })

问题是,当我尝试提交时,它没有通过,但是当我使用这个脚本(不带 dateFormat)时,一切正常:

<script>
    $(document).ready(function() {
        $('.date').datepicker();
    });
</script>

所以我的问题是,有没有办法改变客户的日期视图而不是发送的内容?

提前致谢!

【问题讨论】:

  • 你在服务器端需要什么日期格式?
  • 正确的用法是@Html.TextBoxFor(m =&gt; m.date, "{0:dd/MM/yyyy}", new { @class = "date" }) - 在使用 HtmlHelper 方法时,切勿尝试设置 value 属性。在将模型传递给视图之前,在控制器中设置 date 的值
  • @teovankot 就像你看到的那样,一旦它在 dd-mm-yy 中工作,而在其他时间在 mm-dd-yy 中工作时,我并没有真正得到任何东西......在我的db 它是 dd-mm-yy 但它似乎只有在我发送 mm-dd-yy 格式时才有效......我真的不明白......
  • @StephenMuecke 我试过这种方式,但它不起作用:(
  • 我在评论您对助手的错误使用 :) 您需要让我们知道@teovankot 所要求的服务器端文化是什么。如果它与MM/dd/yyyy 合作,那么显然你的文化不是接受dd/MM/yyyy 格式的日期。

标签: javascript jquery asp.net asp.net-mvc date


【解决方案1】:

感谢@StephenMuecke!答案是:

脚本:

<script>
    $(document).ready(function() {
        $('.date').datepicker({ dateFormat: 'dd/mm/yy'});
    });
    $.validator.addMethod('date', function (value, element) {
        if (this.optional(element)) {
            return true;
        }
        var valid = true;
        try {
            $.datepicker.parseDate('dd/MM/yy', value);
        }
        catch (err) {
            err.description;
            valid = false;
        }
        return valid;
    });
</script>
  • 将您的文化放入 web.config 文件中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多