Kendo dateTimePicker для отправки значения NULL или 01/01/0001 00:00 на контроллер - PullRequest
0 голосов
/ 28 марта 2019

Представление работает правильно, и я вижу средство выбора даты и времени, но когда я нажимаю кнопку «Отправить», поля даты и времени становятся пустыми (если они могут быть обнулены), или 01/01/0001 00:00, если они не обнуляются.

View

<div class="form-group">
        @Html.LabelFor(model => model.LaycanStartDate, htmlAttributes: new { @class = "control-label col-md-12" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.LaycanStartDate, new { htmlAttributes = new { @class = "form-control" } })
            @Html.ValidationMessageFor(model => model.LaycanStartDate, "", new { @class = "text-danger" })
        </div>
 </div>

    <script>
        $(function () {
            $.validator.methods.date = function (value, element) {
                var date = moment(value, "DD/MM/YYYY HH:mm", true).format("DD/MM/YYYY HH:mm");
                return this.optional(element) || moment(date, "DD/MM/YYYY HH:mm", true).isValid();
            }
        });
    </script>

Модель

[Display(Name = "LaycanStartDate", ResourceType = typeof(Resources.Resources))]
        [DataType(DataType.DateTime)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy HH:mm}")]
        public DateTime LaycanStartDate { get; set; }

DateTime.cshtml

@model DateTime? 
@(Html.Kendo().DateTimePickerFor(m => m).HtmlAttributes(new { style = "width: 100%; max-width: 280px", title = "datetimepicker"}))

1 Ответ

0 голосов
/ 05 апреля 2019

Таким образом, единственный способ, которым я в итоге смог обойти это, - это удалить привязку на контроллере [Bind (....

Без этого он пропускает значение, и контроллер может работать с форматом

...