最好的办法 。在单个帖子中发送复杂的MVC模型

时间:2015-04-07 09:16:28

标签: c# asp.net-mvc asp.net-mvc-4 post models

我正在开发超过1年的mvc应用程序。我遇到了一些非常复杂的形式。用户应填写一些字段,上传文件并在2或3个或更多kendo网格中添加许多行。

我想将所有这些数据在一个帖子中发回给控制器并保存所有内容......

Μy模型由字段组成......两个或三个列表(kendo网格)和blobdata(attachemnt文件)

喜欢

public class GenericRequest: FormBase
{  
    public string PersonName { get; set; }
    public string StatuName { get; set; }
    public Guid? TypeGID { get; set; }
    public string TypeName { get; set; }
    public string ContractDescription { get; set; }

    public virtual List<WorkPackage> WorkPackages { get; set; }
    public virtual List<Order>Orders{get;set;}
    public virtual List<Attachment>Attachments{get;set;}
}

使用这种复杂模型的最佳方法和技术是什么。添加所有数据并将完整对象发回控制器?我应该使用什么样的模式?当然,有机会避免添加kendo网格并仅使用mvc对象。以这种方式,我如何将项目添加到客户端的列表中并将所有内容发送回控制器?

2 个答案:

答案 0 :(得分:2)

始终尝试使用部分视图绑定复杂模型。

让我们说在我们的情况下,我们可以在不同的部分视图中绑定WorkPackages,Orders,Attachments,基本细节将在单独的局部视图中。

所有这些局部视图都将在单视图中呈现。

当发布后期操作时,您可以管理各个部分视图的操作,因此只需要发布所需的模型数据。

答案 1 :(得分:-1)

您必须递归序列化(复杂的,嵌套的)模型并发送json响应。因为我不做ASP.NET,所以将它留在这里。但这是方式(我在我自己的MVC lib,modelview.js中这样做)