К вашему сведению, я также заполняю модель поля. VdiId с частичной страницы, используя jQuery. Когда я нажимаю кнопку «Отправить» на странице формы, она перенаправляет меня на пустую страницу вместо нажатия на действие BookVdi контроллера бронирования. Я выбрасываю исключение и ставлю точки останова, которые также не выполняются.
Ниже приведен код вида:
@model HVDI.Models.BookingViewModel
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (@Html.BeginForm("BookVdi", "Booking", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<h4>Booking</h4>
<hr />
<div class="form-inline">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.VdiId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.VdiId, new { htmlAttributes = new { @class = "form-control disabled" } })
@Html.ValidationMessageFor(model => model.VdiId, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.BookingDate, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BookingDate, new { htmlAttributes = new { @class = "form-control datepicker" } })
@Html.ValidationMessageFor(model => model.BookingDate, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TimeStart, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeStart, new { htmlAttributes = new { @class = "form-control timepicker" } })
@Html.ValidationMessageFor(model => model.TimeStart, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.TimeEnd, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.TimeEnd, new { htmlAttributes = new { @class = "form-control timepicker" } })
@Html.ValidationMessageFor(model => model.TimeEnd, "", new { @class = "text-danger" })
</div>
</div>
<div class="showing">
<input type="button" class="align-content-end" onclick="" id="btnSearch" value="Search" />
</div>
</div>
<br />
<div class="form-group">
<div class="table-dark" id="vdiSection">
</div>
</div>
<br />
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Book" class="btn btn-default" />
</div>
</div>
}
Ниже приведен код контроллера:
public ActionResult Index()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public void BookVdi(BookingViewModel bookingDetails)
{
if (!ModelState.IsValid)
{
throw new Exception();
}
Booking newBooking = new Booking();
newBooking.BookingDate = bookingDetails.BookingDate; //I am putting a breakpoint here
}
Открывается пустая страница: http://localhost: 61110 / Booking / BookVdi