我想我正在使用mvc。 我创建了一个绑定到我的视图模型的视图,看起来像这个
public class CreatePurchaseViewModel
{
public Order Order { get; set; }
public IEnumerable<Product> Products { get; set; }
public DateTime OrderDate { get; set; }
public bool OrderSent { get; set; }
}
我还创建了另一个视图模型
public class ProductsViewModel
{
public int ProductID { get; set; }
public int OrderID { get; set; }
}
我创建了一个绑定到此viewmodel的部分视图。
我从我的视图中加载它
@Html.Partial("_AddProductItem", new MVC_WireFrame.ViewModels.ProductsViewModel())
现在我如何将ProductsViewModel中的项目放入我的CreatePurchaseViewModel中,或者这不是正确的做事方式?
我可以从我的控制器中的ProductsViewModel访问数据,如
[HttpPost]
public ActionResult InsertProduct(string input)
{}
真的有2个问题,如何将值传递给另一个viewcontroller?和 如何在AddProduct局部视图中填充列表,以便显示已添加的产品?
提前感谢您的帮助。
答案 0 :(得分:0)
通常,您不应将数据从一个视图模型传递到另一个视图模型。您应该创建视图模型类,使它们包含要显示的视图所需的所有信息。控制器有责任填写此信息。关于列表的第二个问题,您只需向此视图模型添加类型为IEnumerable<T>
的属性,该属性将由控制器填充,视图可以显示已添加的产品。因此,请考虑您的视图需要哪些信息,并将其作为属性添加到视图模型中。