解析为@ Html.EditorFor MVC3的JQuery Datepicker datetime问题

时间:2011-06-18 12:01:45

标签: jquery asp.net-mvc-3 datepicker datetime-format

我已经阅读了很多关于设置正确日期时间的问题,但无法做到正确。

我的MVC3方法是数据库优先。该模型是自动生成并手动更改的;

    [DataType(DataType.Date)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd-MM-yy}")]
    public Nullable<System.DateTime> Datum { get; set; }

在我看来这是一把直发的剃刀;

    <div class="editor-field">
        @Html.EditorFor(model => model.Datum)
        @Html.ValidationMessageFor(model => model.Datum)
    </div>
在Shared_Layout中

我添加了这个

jQuery(function ($) {

$.datepicker.regional['nl'] = {
            closeText: 'Sluiten',
            prevText: '←',
            nextText: '→',
            currentText: 'Vandaag',
            monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
                'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
            monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun',
                'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
            dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
            dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
            dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
            weekHeader: 'Wk',
            dateFormat: 'dd-mm-yy',
            firstDay: 1,
            isRTL: false,
            showMonthAfterYear: false,
            yearSuffix: ''
        };

        $.datepicker.setDefaults($.datepicker.regional['nl']);
        $.datepicker.setDefaults({ dateFormat: 'dd-mm-yy' });
    });

在EditorFor字段中,日期显示为dd-mm-yyyy datepicker格式正确,格式为dd-mm-yy 从datepicker解析日期后,dateformat突然显示为mm / dd / yyyy

1 个答案:

答案 0 :(得分:3)

发现问题...... 我忘了我使用共享模板作为日期: - /

@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datepicker" })


<script type="text/javascript">
    $(document).ready(function () {
        $('.datepicker').datepicker({ dateFormat: "dd-mm-yy" });
    });
</script>

问候,罗伊