У меня есть простой веб-сайт (ASP.NET Core 2.2 MVC) с _Layout, который отображает тело в его основном теге:
<main class="content">
<div class="container-fluid p-0">
<main role="main" class="pb-3">
@RenderBody()
</main>
</div>
</main>
В теле (Index.cshtml) в одном из DIVэлементы Я заполняю список частичным представлением:
<div class="section-list">
@{await Html.RenderPartialAsync("_PartialList1", Model);}
</div>
, в котором некоторые данные представлены в виде таблицы.Каждая строка затем имеет опцию редактирования, которая открывает модальную форму (через частичное представление).После нажатия команды редактирования строки отображается всплывающее окно (модальное), которое включает следующую форму:
<form asp-controller="Home" asp-action="EditSpremljanje" method="post" data-ajax="true" data-ajax-method="post">
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label>Id: </label>
<input class="form-control" asp-for="Id" readonly />
</div>
</div>
</div>
// a bunch of other labels & inputs ...
<div class="row" style="text-align: right">
<div class="form-group col-md-12">
<p class="text-left">Ali želite shraniti spremembe?</p>
<label id="lbErrorMessage" style="color:red"></label>
<button type="button" class="btn btn-outline-warning" data-dismiss="modal">Prekliči</button>
<button type="submit" class="btn btn-primary ml-2">Shrani</button>
</div>
</div>
</form>
Проблема заключается в том, что когда я отправляю форму (нажмите клавишу ВВОД на моей клавиатуре или нажмите кнопку отправки),Код jQuery (в Index.cshtml) ниже не получил удар.
$(document).ready(function () {
$('.content').on('submit', 'form', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: '/Home/EditSpremljanje',
data: $('form').serialize(),
success: function () {
//alert('form was submitted');
}
}).done(function (result) {
if (result.status === "success") {
$('#modalGeneric').modal('hide');
//reload data - partial list
$('.section-list').load(url, {
searchString: '', pageNumber: 1, idSelect: 0
});
} else {
$('#lbErrorMessage').html(result.message);
}
});
});
});
Форма публикуется, хотя, потому что 'IActionResult EditSpremljanje' в моем контроллере получает удар.