我在看HaHaa presentation on ASP.NET MVC from MIX,他们提到了使用邮政模型,我猜他们说你可以使用仅用于张贴的模型。我试图寻找这方面的例子。我不明白他们在说什么吗?有没有人有一个例子,说明在视图模型和后期模型不是同一类型的强类型视图中,这可能如何工作?ASP.NET MVC后期模型的示例?
回答
下面是ScottGu的例子扩展了一下。正如@SLaks解释的那样,当收到POST时,MVC将尝试创建一个新的MyPostName对象,并将其属性与from字段进行匹配。它还将使用匹配和验证的结果更新ModelState属性。
当动作返回视图时,它也必须为它提供一个模型。但是,该视图不必使用相同的模型。事实上,视图可以使用包含扩展数据的不同模型进行强类型化,例如,它可以将导航属性绑定到数据库表中的外键;如果是这种情况,则从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);
}
Whats'ActionModel'? – Omar 2010-03-26 07:14:55
我的错误,应该是ActionResult。 – 2010-03-26 09:16:32
好的,现在有道理。除非通过框架尝试将输入映射到Action的参数中列出的模型的属性,否则操作无需知道发布给它们的任何类型。 – 2010-03-26 12:41:19
POST模型仅用于将数据传递到您的操作方法。
POST操作发送到其视图的模型不需要与它接收到的模型相关(通常不会)。
类似地,初始GET动作(显示表单首先)传递给其视图(提交给POST动作)的模型不需要与POST动作需要的模型相关(尽管它通常会是相同的型号)
只要它的属性与您的输入参数相匹配,您可以使用您想要的任何模型作为POST操作的参数。
- 1. Asp.Net MVC EditorTemplate模型后
- 2. 复杂ASP.net MVC模型的示例在哪里?
- 3. ASP.NET MVC模型
- 4. ASP.NET MVC SiteMap示例
- 5. asp.net mvc Bundle.IncludeDirectory示例?
- 6. SaaS模型的ASP.NET示例网站?
- 7. 简单的ASP.NET MVC示例
- 8. ASP.NET MVC 4模型后为空
- 9. MVC:查看模型交互示例
- 10. ASP.NET MVC - IDisposable模型
- 11. 模型的ASP.NET MVC表格
- 12. ASP.NET MVC:从模型内更新模型?
- 13. asp.net MVC模型项的类型是List
- 14. 模型为Html.BeginForm()ASP.NET MVC
- 15. asp.net mvc模型绑定
- 16. ASP.NET MVC 3 - 模型验证
- 17. ASP.Net MVC模型问题
- 18. ASP.NET MVC查看模型库?
- 19. ASP.NET MVC模型状态
- 20. ASP.Net MVC模型绑定
- 21. 动态模型ASP.Net MVC
- 22. 模型绑定ASP.NET MVC
- 23. ASP.NET MVC模型/ ViewModel验证
- 24. ASP.Net MVC支持Editor.For(模型)
- 25. ASP.NET MVC模型绑定
- 26. ASP.NET MVC模型替代
- 27. ASP.NET MVC模型接口
- 28. asp.net mvc账户模型
- 29. ASP.net MVC v2 - 造型模板
- 30. ASP.NET MVC模型绑定
@TimAbell链接固定。 – 2016-06-21 20:41:08