在视图页面中显示部分页面

本文关键字:显示部 分页 视图 | 更新日期: 2023-09-27 18:25:31

我有一个Controller/ShoppingCart,它有一个Action Method Index(),我创建了一个索引视图页面,它是强类型的,使用模型类

Project.Models.ShoppingCartViewModel

我有另一个Controller/Details,它有一个Action Method Confirm(),我创建了一个Confirm视图页面,它也是一个强类型,使用模型类

Project.Models.Confirm

现在我想做的就是创建Index()的部分视图,它将使用@model Project.Models.ShoppingCartViewModel并在确认视图页面的右侧显示此部分页面。两者都是强类型视图。

在视图页面中显示部分页面

您应该向ShoppingCartViewModel 类型的Confirm视图模型添加一个新属性

public class Confirm
{
   public  ShoppingCartViewModel Cart {set;get;}
   //Other Properties of your viewmodel goes here
}

现在在Confirm视图中,调用Html.Partial助手方法来呈现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);
}