我正在开发超过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对象。以这种方式,我如何将项目添加到客户端的列表中并将所有内容发送回控制器?
答案 0 :(得分:2)
始终尝试使用部分视图绑定复杂模型。
让我们说在我们的情况下,我们可以在不同的部分视图中绑定WorkPackages,Orders,Attachments,基本细节将在单独的局部视图中。
所有这些局部视图都将在单视图中呈现。
当发布后期操作时,您可以管理各个部分视图的操作,因此只需要发布所需的模型数据。
答案 1 :(得分:-1)
您必须递归序列化(复杂的,嵌套的)模型并发送json响应。因为我不做ASP.NET,所以将它留在这里。但这是方式(我在我自己的MVC lib,modelview.js中这样做)