我似乎无法仅找到基本代码示例来了解TryUpdateModel的工作原理?您何时使用它,为什么?
最佳答案
您可以使用此方法来更新通过给定 Controller 支持特定 View 的模型。例如,如果我有一个显示Foo对象的 View ,该对象具有由文本框填充的Bar属性,则可以在 Controller 上调用方法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并带有验证错误,并且您的 View 将显示验证错误。
确保您密切注意MSDN文档中有关.NET Framework 4的安全警告:
https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel(v=vs.100).aspx