Я получаю нулевые значения в части HTTP-сообщения контроллера из модели представления. Все значения равны нулю. Я не могу получить доступ к свойствам модели представления и также выбрать значения списка. Как решить нулевые значения и получить доступ к выбранному городу из модели для обновления базы данных с использованием контекста базы данных.
Я искал другие похожие вопросы, но эти результаты не помогли.
Это будет здорово помогите, если кто-нибудь может решить проблему.
Класс модели:
namespace MvcCoreAngular.ViewModels
{
public class DetailedResultEdit
{
public int employeeid { get; set; }
public string name { get; set; }
public List<SelectListItem> citieslist { get; set; }
public int cityid { get; set; }
public string department { get; set; }
public string gender { get; set; }
}
}
HTML:
@model IEnumerable<MvcCoreAngular.ViewModels.DetailedResultEdit>
@{
ViewData["Title"] = "Edit";
}
<h2>Edit</h2>
@using (Html.BeginForm("Edit", "Home", FormMethod.Post))
{
@foreach (var item in Model)
{
<table>
<tr>
@Html.Label("Name")
@Html.TextBoxFor(model => item.name)
<br />
</tr>
<tr>
@Html.Label("Department")
@Html.TextBoxFor(model => item.department)
<br />
</tr>
<tr>
@Html.Label("Cities")
@Html.DropDownListFor(model => item.cityid, item.citieslist, "", null)
<br />
</tr>
<tr>
<input type="submit" value="Submit" id="btnSubmit" />
</tr>
</table>
}
}
Контроллер:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit(DetailedResultEdit mo)
{
//IEnumerable<tblcities> citieslist = from c in _context.tblcities.ToList<tblcities>().GroupBy(x=> x.cityname).Select(x=> x.First());
if (ModelState.IsValid) {
var empdata = _context.tblemployee.Find(mo.employeeid);
empdata.cityid = mo.cityid;
empdata.department = mo.department;
empdata.name = mo.name;
_context.SaveChanges();
}