如何使用剃刀动态嵌套_Layout?

时间:2011-04-26 18:38:37

标签: asp.net-mvc-3 layout dynamic razor nested

是否可以使用动态嵌套_layout页面?

这是我得到的:

_ShopDetailsLayout.cshtml(动态嵌套_layout):

@model MVC.Web.Areas.Shop.Models.ShopDetailViewModel

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
}

Credits.cshtml:

@model MVC.Web.Areas.Shop.Models.CreditsViewModel

@{
    ViewBag.Title = "Credits";
    Layout = "~/Areas/Game/Views/Shared/_ShopDetailsLayout.cshtml";
}

我遇到的问题是其他页面,如Credits.cshtml使用的嵌套布局没有相同的@model所以我收到此错误:

  

模型项传入   字典是类型   'MVC.Web.Areas.Shop.Models.CreditsViewModel',   但这本词典需要一个模型   类型的项目   'MVC.Web.Areas.Shop.Models.ShopDetailViewModel'。

我希望任何人都可以提供帮助

1 个答案:

答案 0 :(得分:0)

您需要更改布局以与实际型号兼容 您可能希望使用公共基本类型,或坚持使用默认的dynamic模型。