2012-01-28 107 views
1

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

回答

2

在我看来,最好的方法是从_layout.cshtml中使用RenderAction。那个动作可以使用任何你想渲染菜单的模型。

埃塔:这里的例子:https://stackoverflow.com/a/4624417/1169696

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