混淆日期格式asp.net mvc

时间:2014-08-21 07:40:53

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

我对日期格式感到困惑,在创建模式下,验证程序只接受格式dd-MM-yyyy而不是dd.MM.yyyy。在编辑模式下,它向我建议格式dd.MM.yyyy无效,所以我每次都要更改它。

这是日期属性:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime dateOut
{
        get;
        set;
}

有人可以帮我找出错误在哪里吗?

谢谢。

4 个答案:

答案 0 :(得分:2)

格式中的句点指定当前区域性中的日期分隔符。您可以改为使用文字句点:

[DisplayFormat(DataFormatString = "{0:dd'.'MM'.'yyyy}", ApplyFormatInEditMode = true)]

答案 1 :(得分:0)

使用EditorFor()代替TextBoxFor(): -

查看: -

@Html.EditorFor(m => m.dateOut)

型号: -

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime dateOut
{
    get;
    set;
}

答案 2 :(得分:0)

试试这个:

@Html.TextBoxFor(m => m.Date, "{0:dd.MM.yyyy}")

答案 3 :(得分:0)

我发现它,对我有用。如果日期是您指定的格式,则允许发送表单:

@Html.TextBoxFor(m => m.Date, "{0:dd.MM.yyyy}")

<script type="text/javascript">
jQuery(function ($) {
        $.validator.addMethod('date',
        function (value, element) {
            if (this.optional(element)) {
                return true;
            }

            var ok = true;
            try {
                $.datepicker.parseDate('dd.mm.yy', value);
            }
            catch (err) {
                ok = false;
            }
            return ok;
        });
    });
$("form").each(function () { $.data($(this)[0], 'validator', false); });
    $.validator.unobtrusive.parse("form");
</script>