asp.net-mvc – ASP.NET MVC帖子模型的示例?

我正在观看 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);
}

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....