Вы по-прежнему можете использовать конкретные модели просмотра для решения проблем с публикацией, однако есть более новый атрибут Bind , который можно использовать для достижения того же результата, как указано в это сообщение в блоге .
Например, модель сущности Питера Дж. На методе редактирования вы можете просто сделать это:
[HttpPost]
public ViewResult Edit([Bind(Include = "UserName, EmailAddress, FirstName, LastName")] User user)
{
// ...
}
И просто пропустите элемент IsAdmin, чтобы он не использовался в сообщении.
Далее, как отмечено в сообщении в блоге, вы можете воспользоваться методом «черного списка» и сообщить своему контроллеру, какие поля вместо этого следует исключить:
[HttpPost]
public ViewResult Edit([Bind(Exclude= "IsAdmin")] User user)
{
// ...
}
Вы также можете разместить его над именем класса модели Entity, например:
[Bind(Exclude="IsAdmin")]
public class UserProfile
{
public string UserName { get; set; }
public bool IsAdmin { get; set; }
public string EmailAddress { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Этот метод лучше подходит для случаев, когда вам нужно только исключить или включить несколько полей из моделей Entity.