Анализ даты и времени JQuery Datepicker для @ Html.EditorFor MVC3 - PullRequest
2 голосов
/ 18 июня 2011

Я прочитал много вопросов об установке правильной даты и времени, но не могу понять, как это правильно.

Мой подход 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' });
    });

В редакторе для поля указывается дата дд-мм-гггг DatePicker правильно отформатирован в дд-мм-гг После синтаксического анализа даты из средства выбора даты форматирование даты внезапно становится мм / дд / гггг

1 Ответ

3 голосов
/ 25 июня 2011

выяснил проблему ... Я забыл, что использовал общий шаблон для даты: - /

@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>

С уважением, Рой

...