如何将模型传递给MVC 3 Razor“masterpage”

时间:2010-12-09 15:24:46

标签: asp.net-mvc-3

如何将模型传递给MVC 3 Razor“masterpage”?

Razor视图引擎与aspx视图引擎不同。

4 个答案:

答案 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属性。 读:

Passing Data to View Master Pages - an ASP.NET tutorial

ViewBag dynamic in ASP.NET MVC 3

答案 3 :(得分:-3)

public ActionResult Test(TestModel model)
{
}

TestModel是一个模型类.. 像这样你可以将模型传递给母版页

相关问题