Asp.net 我可以在一个主视图上创建一个包含多个模型的ASP MVC主详细信息吗?

Asp.net 我可以在一个主视图上创建一个包含多个模型的ASP MVC主详细信息吗?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,假设我有一个主视图InvoiceMaster 我希望该视图同时包含另外两个局部视图。那些是 ItemView和OrderView。下面的图片显示了我试图表达的内容: 黑色和红色表单中的数据是在页面加载时加载的(目前我只能在页面开始时从@{…}获取它们) 因此,当我点击红色视图中的一个项目时,它会向绿色视图发送一个“id”…然后我编辑绿色视图 我喜欢的是使用母版页中的单个提交按钮同时保存来自黑色表单和绿色表单的数据 我怎么能那样做呢 我想我可以在视图之间传递模型,但这似乎不是一个好主意。如果是渲

假设我有一个主视图
InvoiceMaster

我希望该视图同时包含另外两个局部视图。那些是
ItemView
OrderView
。下面的图片显示了我试图表达的内容:

黑色和红色表单中的数据是在页面加载时加载的(目前我只能在页面开始时从
@{…}
获取它们)

因此,当我点击红色视图中的一个项目时,它会向绿色视图发送一个“id”…然后我编辑绿色视图

我喜欢的是使用母版页中的单个提交按钮同时保存来自黑色表单和绿色表单的数据

我怎么能那样做呢


我想我可以在视图之间传递模型,但这似乎不是一个好主意。

如果是渲染部分。您可以这样做:

@Html.Partial("ItemView", "Home")
如果不是,如果是这样的结果

 @Html.Action("OrderView", "Home")
但你必须有密码

public ActionResult OrderView(){ return View (); } or puplic PartialView IremView() { return PartiaView(); }

我认为您必须在这里使用ajax

您可以使用(Ajax.BeginForm将红色视图包装成
,并将
UpdateTargetId
设置为绿色视图


另一种方法是使用js发送项目选择请求,并在收到响应时刷新红色视图。

但它不会基于3个模型…该页面上有3个模型,但razor每页只能支持一个模型…或者您认为我仍然可以调用
OrderView(项目模型1、订单模型2、发票模型3)
使用提交按钮?这在ajax中是可能的。这样:$.ajax{url:'',数据:'',成功:函数(数据){document.getElementByID('ResultId')。innerHtml=data.Value。。。