如何将模型传递给MVC 3 Razor“masterpage”?
Razor视图引擎与aspx视图引擎不同。
答案 0 :(得分:6)
布局页面将“继承”内容页面的模型。您是否尝试使布局页面具有与内容页面不同的模型?
答案 1 :(得分:2)
我不确定_Layout.cshtml是否可以有一个单独的模型。
或许您应该研究一下使用ViewModel的M-V-VM配置,该配置继承自BaseViewModel类,该类提供_Layout.cshtml“MasterPage”所需的必要共享数据。
有关MVVM的重要信息:Stack Overflow: MVVM ViewModel vs MVC ViewModel。 还有关于将共享的ViewModel功能推送到基类的信息:Stack Overflow: Push Common ViewModel functionality into a base class?
<强> [更新] 强> Martin的初始评论中的链接虽然不代表您的问题的直接副本,但确实包含了一些关于如何注入基本ViewModel功能的信息,而Controller不需要知道任何相关信息......重新链接到这里:{{3} }
答案 2 :(得分:1)
视图引擎之间没有区别,因为模型不是表示层的一部分。 使用基本应用程序控制器创建和填充共享模型,并将对它的引用传递给请求上下文的ViewBag属性。 读:
答案 3 :(得分:-3)
public ActionResult Test(TestModel model)
{
}
TestModel是一个模型类.. 像这样你可以将模型传递给母版页