У меня есть представление, которое показывает один элемент со всеми его полями. Но я запутался, пытаясь понять, как разрешить обновление одного конкретного поля («Статус») из этого представления, не обязательно сначала переходя в совершенно другое «редактирование».
Как отправить http-публикацию в одно и то же действие (Подробности), но сохранить только поле «Статус», не сохраняя все остальные свойства, которые являются частью модели представления (только для отображения)? Нужна ли мне отдельная модель представления только для статуса? Новичок в ASP.NET MVC и запутался.
Посмотреть модель
public string FirstName { get; set; }
public string LastName { get; set; }
public string Birthdate{ get; set; }
public string Status { get; set; }
//etc.
Вид
<div>
@Html.DisplayFor(model => model.FirstName)
@Html.DisplayFor(model => model.LastName)
@Html.DisplayFor(model => model.Birthdate)
//etc.
</div>
<div>
@TextBoxFor(model => model.Status)
<button type="submit" value="Save Status" />
</div>
Контроллер
[HttpGet]
public ActionResult Details(int id)
{
var person = personRepo.GetById(id);
var vm = BuildPersonDetailsViewModel(person);
return View(vm);
}
[HttpPost]
public ActionResult Details(PersonDetailsViewModel vm)
{
var person = personRepo.GetById(vm.PersonID);
person.Status = vm.Status;
personRepo.Update(person);
}