У меня есть HttpPost Controller, который я пытаюсь использовать для получения данных из просмотра и сохранения данных модели в моей локальной базе данных mvc.Хотя, когда я проверяю форму (которая имеет 4 входа для ввода пользователем), отправляет ее, а затем проверяет базу данных, в таблицу сохраняется только School.Date, а остальные 3 переменные остаются пустыми (даже если я ввел их ввместе с School.Date).
Моя школа Модель:
namespace BookingSys.Models
{
public class School
{
public DateTime Date { get; set; }
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public int PhoneNumber { get; set; }
}
}
Мои контроллеры для просмотра бронирования:
[HttpGet]
public ActionResult Booking()
{
var model = db.Dates.ToList();
return View(model);
}
[HttpPost]
public ActionResult Booking(School model)
{
db.Schools.Add(model);
db.SaveChanges();
return RedirectToAction("Booking");
}
Мой просмотр бронирования:
@model List<BookingSys.Models.Datepicker>
@{
ViewBag.Title = "Booking";
}
<h2>School Bookings</h2>
<form asp-controller="School" asp-action="Booking" method="post">
<br />
<div>
<label for="Date">Choose Date:</label>
<input asp-for="School.Date" id="txtDate" name="Date" />
</div>
<br />
<div>
<label for="Name">School Name:</label>
<input asp-for="School.Name" id="txtName" name="Name: " />
</div>
<br />
<div>
<label for="Email">Email:</label>
<input asp-for="School.Email" id="txtEmail" name="Email: " />
</div>
<br />
<div>
<label for="Phone">Phone Number:</label>
<input asp-for="School.PhoneNumber" id="txtPhone" name="Phone Number:
" />
</div>
<br />
<input type="submit" value="Submit" class="submit" />
</form>
<link href="~/Content/themes/base/jquery-ui.min.css" rel="stylesheet" />
// jQuery UI Datepicker
@section scripts {
<script src="~/Scripts/jquery-ui-1.12.1.min.js"></script>
<script>
jQuery(function () {
var enableDays = ['@Html.Raw(string.Join("','",
Model.Select(d => d.Date.ToString("dd-MM-yyyy"))))'];
console.log(enableDays);
function enableAllTheseDays(date) {
var sdate = $.datepicker.formatDate('dd-mm-yy', date)
console.log(sdate)
if ($.inArray(sdate, enableDays) != -1) {
return [true];
}
return [false];
}
$("#txtDate").datepicker({
dateFormat: "dd/MM/yy",
beforeShowDay: enableAllTheseDays,
});
});
</script>
@Scripts.Render("~/bundles/jqueryval")
}
<style>
.my-class a {
background-color: #07ea69 !important;
background-image: none !important;
color: #ffffff !important;
}
</style>
Так выглядит контекст БД;дата не спасает проблем, но имя, адрес электронной почты и номер телефона по какой-то причине не сохраняются.Кто-нибудь знает почему?
Приветствия