Я пытался получить свой идентификатор CompanyProfile в своем UserController , на первом шаге я получу правильный идентификатор, но в [HttpPost] значение ID было изменено на то же значение, что и пользователь ID Это мой контроллерViewbag IsValid false при редактировании/изменении данных
public ActionResult Edit (int id)
{
User user = _db.Users.Find(id);
if (user == null)
{
return HttpNotFound();
}
ViewBag.CompanyProfile = new SelectList(_db.CompanyProfiles,"ID","NamaProfil", user.CompanyProfile.ID);
return View(user);
}
[HttpPost]
public ActionResult Edit(User user)
{
if (ModelState.IsValid)
{
_db.Entry(user).State = EntityState.Modified;
_db.SaveChanges();
return RedirectToAction ("Index");
}
return View(user);
}
это модель
public int ID {get;set;}
public virtual CompanyProfile CompanyProfile {get;set;}
и это выпадающий в окне редактирования
<div class= "controls">
@Html.DropDownList("CompanyProfile", null, "--Choose Company--", new {@class="span6 m-wrap"})
</div>
каждый ответ может помочь, спасибо: D
забывает сказать, что это, это сообщение об ошибке Там нет ViewData элемента типа «IEnumerable», который имеет ключ 'CompanyProfile.
, но если я не определил выбранное значение, мой раскрывающийся список будет равен нулю, и я не смогу сохранить данные – ericthesialie
Если свойство CompanyProfileId имеет значение (скажем, 5), а значение 5 - одно из значений в вашем списке выбора что вы получили от _db.CompanyProfiles, тогда выпадающий список, сгенерированный автоматически, будет по умолчанию выбранным значением. – Marko