Лучший способ обновить только нужные поля - создать для него отдельную модель представления. Например, представьте, что у вас есть пользовательский класс, подобный этому
public class User
{
public int Id {get;set;}
public string UserName {get;set}
public bool IsAdmin {get;set;}
}
И предположим, вы не хотите, чтобы пользователь предоставил значение для свойства IsAdmin
. Вы создаете модель представления следующим образом (без поля IsAdmin)
public class EditUserViewModel
{
public int Id {get;set;}
public string UserName {get;set}
}
И действие редактирования псевдо-что-то
public ActionResult Edit(EdituserViewModel model)
{
If(ModelState.IsValid)
{
User user = _repository.GetUser(model.Id);
user.UserName = model.UserName;
_repository.Update(user);
return RedirectToAction("Index");
}
return View(model);
}
Таким образом, невозможно предоставить IsAdmin со стороны клиента. Вы также можете взглянуть на AutoMapper и блог Джимми Богарда для сопоставления моделей представлений с моделями доменов. Джимми получил сообщение об использовании ViewModels и AutoMapper в asp.net mvc.