Мы используем включить и исключить в привязке модели.Эти функции обеспечивают нам больше контроля и безопасности в процессе привязки.Позвольте мне объяснить с одним примером.
У нас есть такая модель:
public class TestModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public string Address { get; set; }
public DateTime AddedDate { get; set; }
}
По умолчанию MVC привязывает все эти поля из вашего представления к вашему контроллеру.Но мы не хотим связывать AddedDate, потому что мы хотим добавить данные в это поле в контроллере.Таким образом, с помощью функции исключения мы можем сообщить MVC, что они не привязываются автоматически. AddedDate.
public ActionResult Edit([Bind(Exclude = "AddedDate")] TestModel model)
Или в другой ситуации подумайте, что ваш начальник сказал вам, что вы не должны позволять пользователям изменять их адрес вформа редактирования.Один из способов заключается в том, что вы изменяете свое представление и добавляете скрытое поле внутри представления, чтобы сохранить значение адреса для привязки.но иногда из-за проблем безопасности, вы не можете использовать этот подход с конфиденциальными данными, такими как Id, пароль ... Таким образом, вы можете просто исключить эти поля из привязки.
public ActionResult Edit([Bind(Exclude = "Address")] TestModel model)
Таким же образом, Include сообщит MVC, какие поля должны быть частью привязки.
Я настоятельно рекомендую вам использовать ViewModel, когда это возможно, вместо использования Include иИсключить функции.