我似乎找不到一个基本的代码示例来了解TryUpdateModel是如何工作的?你什么时候使用它,为什么?

推荐答案

可以使用此方法通过给定的控制器更新支持特定视图的模型.例如,如果我有一个视图显示一个Foo对象,其属性栏由一个文本框填充,我可以在控制器上调用一个方法Save(),并调用TryUpdateModel来try 更新Foo.

public class Foo {
  public string Bar { get; set; }
}

// ... in the controller
public ActionResult Save() {
  var myFoo = new Foo();
  TryUpdateModel(myFoo);
}

这将try 使用Bar的给定值更新模型.如果更新未通过验证(例如,该条是一个整数,文本框中有文本"hello"),则TryUpdateModel将传递更新ViewData ModelState,并显示验证错误.

请务必密切注意安全警告.MSDN文档中的NET Framework 4:

Security Note.使用其中一个

https://msdn.microsoft.com/en-us/library/system.web.mvc.controller.tryupdatemodel(v=vs.100).aspx

Asp.net相关问答推荐

为什么 @Html.EditorFor 和 @Html.PasswordFor 在 MVC 中创建不同的样式框?

ReportViewer 控件 - 高度问题

我可以在 .net 核心中使用 Entity Framework 6(非核心)吗?

是否可以在没有那些 .svn 文件夹的情况下从 subversion 签出文件?

System.Net.Http 版本冲突导致构建警告

WebAPI 请求流支持

如果站点在 localhost 或 127.0.0.1 上运行,如何判断 ASP.NET MVC 视图

如何使用三个按钮是否和取消显示确认alert ,如 MS Word 中所示

用于链接字符串中的 url 的 C# 代码

HttpContext.Current.Cache.Insert 和 HttpContext.Current.Cache.Add 有什么区别

ASP.NET 中的 <%# Bind("") %> 和 <%# Eval("") %> 有什么区别?

如何配置 ELMAH 以使用 Windows Azure?我在 Elmah.axd 上得到 404

存在 ios 7 虚拟键盘时,div 元素不会停留在底部

回发后 Document.Ready() 不起作用

IIS Express 安装目录在哪里?

Cache.Add 绝对过期 - 是否基于 UTC?

asp.net 网站上的第一页加载缓慢

ASP.NET 5、EF 7 和 SQLite - SQLite 错误 1:没有这样的表:博客

如何使用 ConfigurationManager.AppSettings

在控制器 asp.net-core 中获取当前区域性