пост модели обратно с атрибутом html - PullRequest
0 голосов
/ 25 апреля 2018

У меня проблема с возвратом значения в моей ViewModel после обратной передачи с использованием JQuery datepicker.Обратная запись имеет правильную дату с группой форм StartDate, у которой нет нового атрибута html, прикрепленного к EditorFor.StopDate не отправляет обратно выбранную дату из-за атрибута htmlAttribute.Я бы предпочел не использовать скрытое поле для отправки данных обратно, так как я знаю, что это должно работать.У кого-нибудь есть предложения?

    <div class="form-group" id="StartDate">
        @Html.LabelFor(model => model.StartDate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.reportTimeEntries[0].StartDate, "","StartDate" )
            @Html.ValidationMessageFor(model => model.StartDate, "", new { @class = "text-danger" })
            @Html.HiddenFor(model => model.StartDate)
        </div>
    </div>

            <div class="form-group" id="StopDate">
        @Html.LabelFor(model => model.StopDate, htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.reportTimeEntries[0].StopDate, new { htmlAttributes = new { @class = "form-control date" } })
            @Html.ValidationMessageFor(model => model.StopDate, "", new { @class = "text-danger" })
        </div>
    </div>

    $('#StartDate .date').datepicker({
        'format': 'mm/dd/yyyy',
        'autoclose': true
    });

    $('#StopDate .date').datepicker({
        'format': 'mm/dd/yyyy',
        'autoclose': true
    });

ОБНОВЛЕНИЕ Так что, похоже, это сработало, добавив это в мою ViewModel.Раздел Nullable, кажется, позволяет опубликовать дату. ViewModel

[DataType(DataType.DateTime)]
[Display(Name = "Stop Date")]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> StopDate { get; set; }

Просмотр

<div class="form-group" id="StopDate">
    @Html.LabelFor(model => model.StopDate, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.reportTimeEntries[0].StopDate, "","StopDate",new { htmlAttributes = new { @class = "form-control date" } })
        @Html.ValidationMessageFor(model => model.StopDate, "", new { @class = "text-danger" })
    </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...