Вы можете использовать этот метод для обновления модели, поддерживающей конкретный вид через данный контроллер.Например, если у меня есть представление, отображающее объект Foo со свойством Bar, заполненным текстовым полем, я могу вызвать метод Save () на контроллере и вызвать TryUpdateModel, чтобы попытаться обновить Foo.
public class Foo {
public string Bar { get; set; }
}
// ... in the controller
public ActionResult Save() {
var myFoo = new Foo();
TryUpdateModel(myFoo);
}
Это попытается обновить модель с заданным значением для Bar.Если обновление не проходит проверку (скажем, например, что Bar был целым числом, а текстовое поле содержит текст «hello»), тогда TryUpdateModel передаст обновление ViewData ModelState с ошибками проверки, и ваше представление отобразит ошибки проверки.
Убедитесь, что вы внимательно следите за предупреждением безопасности для .NET Framework 4 в документации MSDN:
Примечание по безопасности Используйте одно из [Перегрузка: Система.Web.Mvc.Controller.TryUpdateModel``1] методы, которые принимают либо список включаемых свойств (белый список), либо список исключаемых свойств (черный список).Если явный белый или черный список не передается, метод [Overload: System.Web.Mvc.Controller.TryUpdateModel`1] пытается обновить каждое открытое свойство в модели, для которой есть соответствующее значение в запросе.Злоумышленник может использовать это для обновления свойств, к которым вы не собираетесь предоставлять доступ.
https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel(v=vs.100).aspx