我有一个Controller / ShoppingCart,它有一个Action Method Index(),我创建了一个强类型的索引视图页面,并使用了一个模型类
Project.Models.ShoppingCartViewModel
我有另一个控制器/详细信息,它有一个操作方法Confirm(),我创建了一个确认视图页面,它也是一个强类型并使用模型类
Project.Models.Confirm
现在我要做的就是创建一个Index()的部分视图,它将使用 @model Project.Models.ShoppingCartViewModel 并在确认右侧显示该部分页面查看页面。两者都是强类型视图。
答案 0 :(得分:1)
您应该向Confirm
<{1}}
ShoppingCartViewModel
视图模型添加新属性
public class Confirm
{
public ShoppingCartViewModel Cart {set;get;}
//Other Properties of your viewmodel goes here
}
现在在确认视图中,调用Html.Partial
帮助程序方法以呈现显示购物车的部分视图并传递Model.Cart
属性。
@model Project.Models.Confirm
<h2>Confirm order</h2>
@Html.Partial("~/Views/ShoppingCart/_CartPartial.cshtml".Model.Cart)
假设您的部分视图位于~/Views/ShoppingCart/_CartPartial.cshtml
位置。
确保正确初始化Cart
属性以避免Null引用异常(对象引用未设置为对象实例)
public ActionResult Confirm()
{
var vm = new Confirm();
vm.Cart= new ShoppingCartViewModel();
// Load the Shopping cart property values to vm.Cart
return View(vm);
}