Почему только одна дата передается из представления в контроллер? - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть простая форма для создания счета.У меня есть два поля даты в этой форме.

[DataType(DataType.Date)]
public DateTime FromDate { get; set; }
[DataType(DataType.Date)]
public DateTime ToDate { get; set; }

В представлении у меня есть два поля (указатели даты):

<div class="form-group">
    <label class="col-sm-2 control-label">From date:</label>
    <div class="col-sm-6">
        @Html.TextBoxFor(m => m.FromDate, new { @class = "form-control date-pickerFrom", placeholder = "Enter Drop-off date here..." })
    </div>
</div>

<div class="form-group">
    <label class="col-sm-2 control-label">To date:</label>
    <div class="col-sm-6">
        @Html.TextBoxFor(m => m.ToDate, new { @class = "form-control date-pickerTo", placeholder = "Enter Drop-off date here..." })
    </div>
</div>

В конце представления у меня есть функции JavaScript для этих двухdatepickers:

$(function () {
    $('.date-pickerFrom').datepicker({
        dateFormat: "dd/mm/yy"
    });
    $('.date-pickerTo').datepicker({
        dateFormat: "dd/mm/yy"
    });
});

Когда я подтверждаю свою форму, я получаю только правильное значение даты в контроллере для поля «С даты».Значение «На сегодняшний день» всегда 01.01.0001.Есть идеи, что я делаю не так?

Спасибо и хорошего дня!

1 Ответ

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

Измените свое представление на:

<div class="form-group">
    <label class="col-sm-2 control-label">From date:</label>
    <div class="col-sm-6">
         @Html.EditorFor(m => m.FromDate, new { htmlAttributes = new { @id = "datepickerFrom", @class = "form-control", @placeholder = "Enter Drop-off date here..."}})
    </div>
</div>

<div class="form-group">
    <label class="col-sm-2 control-label">To date:</label>
    <div class="col-sm-6">
         @Html.EditorFor(m => m.ToDate, new { htmlAttributes = new { @id = "datepickerTo", @class = "form-control", @placeholder = "Enter Drop-off date here..."}})
    </div>
</div>

И назовите их в своем JavaScript как:

        $(document).ready(function () {
            $('#datepickerFrom').datepicker({
               dateFormat: "dd/mm/yy"
            });

            $('#datepickerTo').datepicker({
               dateFormat: "dd/mm/yy"
           });
       });

Назначьте id для каждого средства выбора даты, и оно должно работать для вас.

...