У меня 2 a
элементов. Оба открывают модальный Bootstrap. Этот элемент a
используется для создания новой записи, поэтому он отправляет текущую дату / время:
<a style="color:#5cb85c" data-CreateDate="@DateTime.Now" data-toggle="modal" data-target="#OnPostModal" href="#OnPostModal" class="fas fa-plus-circle"></a>
Другой элемент a
содержит некоторые поля из записи, которая уже была создана, поэтому он отправляет уже существующую дату создания.
<a data-toggle="modal" data-target="#OnPostModal" data-CreateDate="@item.Supplier.CreateDate" href="#CallModal" class="fas fa-edit"> </a>
Я использую некоторые JavaScript, чтобы заполнить всплывающее поле в модале:
<script type="text/javascript">
$('a[data-toggle=modal], button[data-toggle=modal]').click(function () {
var data_CreateDate = '';
if (typeof $(this).data('CreateDate') !== 'undefined') {
data_CreateDate = $(this).data('CreateDate');
}
$('#CreateDate').val(data_CreateDate);
})
</script>
Наконец, это область в модале, которая должна быть заполнена:
<div class="form-group">
<label asp-for="Supplier.CreateDate" class="control-label"></label>
<input asp-for="Supplier.CreateDate" id="CreateDate" class="form-control" />
<span asp-validation-for="Supplier.CreateDate" class="text-danger"></span>
</div>
Этот метод работает для строковых значений, но, похоже, совсем не работает для значений DateTime или Date. Я пытался:
var data_CreateDate = new Date();
Это не работает.