在_layout.cshtml中渲染动态菜单

时间:2012-01-28 12:34:32

标签: asp.net-mvc-3

我正在使用实体框架和SQL Server 2008处理MVC3应用程序。我想使用数据库中的数据(最畅销的产品)和ul和li HTML标记在_layout.cshtml文件中呈现动态菜单。通常,视图可以接收模型对象,但_Layout文件不能。所以我想知道如何将我需要的数据传递给_Layout。

1 个答案:

答案 0 :(得分:2)

在我看来,最好的方法是使用_layout.cshtml中的RenderAction。然后,该操作可以使用您想要呈现菜单的任何模型。

ETA:此处示例:https://stackoverflow.com/a/4624417/1169696

另一种方法是从基础模型派生所有模型,然后使用该基础模型作为_layout的模型。这有不得不在所有视图中指定模型的缺点,即使它们实际上并不需要一个模型(当然,必须从基础模型派生所有模型本身可能被视为缺点)。 / p>