asp.net-mvc – ASP.NET MVC帖子模型的示例?
发布时间:2020-12-16 07:26:49 所属栏目:asp.Net 来源:网络整理
导读:我正在观看 HaHaa presentation on ASP.NET MVC from MIX并且他们提到使用Post Model,我猜他们说你可以使用仅用于发布的模型.我试过寻找这个例子.我不明白他们在说什么?有没有人有一个例子,说明在视图模型和帖子模型不是同一类型的强类型视图中这可能如何工
我正在观看
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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在ASP.NET 5和Visual Studio 2015 CTP中添加常规类lib引
- asp.net – 无法将HttpHandler映射到“路径/ *”通配符映射
- 如何让ASP.NET MVC为EF中的外键生成字段
- ASP.net Gridview突出显示多列中的最大值
- msbuild – 为什么aspnet_compiler需要对构建服务器上的Tem
- asp.net-mvc-3 – 在MVC3中使用强类型视图时可能的模型继承
- asp.net-mvc-4 – IE 10 Windows身份验证中的异步KendoUI上
- asp.net-mvc – HttpContext中需要什么来允许FormsAuthenti
- .NET Core容器化之多容器应用部署@Docker-Compose
- ASP.NET和MySQL .Net Framework数据提供程序问题