我正在观看
HaHaa presentation on ASP.NET MVC from MIX并且他们提到使用Post Model,我猜他们说你可以使用仅用于发布的模型.我试过寻找这个例子.我不明白他们在说什么?有没有人有一个例子,说明在视图模型和帖子模型不是同一类型的强类型视图中这可能如何工作?
解决方法
下面是ScottGu的例子扩展了一下.正如@SLaks所解释的,当收到POST时,MVC将尝试创建一个新的MyPostName对象,并将其属性与from字段匹配.它还将使用匹配和验证的结果更新ModelState属性.
当操作返回视图时,它也必须为它提供模型.但是,视图不必使用相同的模型.实际上,可以使用包含扩展数据的不同模型强类型化视图,例如,它可以将导航属性绑定到DB表中的外部键;如果是这种情况,从POST模型映射到视图模型的逻辑将包含在POST操作中.
public class MyGetModel { string FullName; List<MyGetModel> SuggestedFriends; } public class MyPostModel { string FirstName; string LastName; } //GET: /Customer/Create public ActionResult Create() { MyGetModel myName = new MyGetModel(); myName.FullName = "John Doe"; // Or fetch it from the DB myName.SuggestedFriends = new List<MyGetModel>; // For example - from people select name where name != myName.FullName Model = myName; return View(); } //POST: /Customer/Create [HttpPost] public ActionResult Create(MyPostModel newName) { MyGetModel name = new MyGetModel(); name.FullName = newName.FirstName + "" + newName.LastName; // Or validate and update the DB return View("Create",name); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。