【发布时间】:2012-01-28 12:34:31
【问题描述】:
我正在开发一个带有实体框架和 SQL Server 2008 的 MVC3 应用程序。我想使用我的数据库中的数据(畅销产品)和 ul 和 li HTML 标签在 _layout.cshtml 文件中呈现动态菜单。通常,视图可以接收模型对象,但 _Layout 文件不能。所以我想知道如何将渲染菜单所需的数据传递给_Layout。
【问题讨论】:
标签: asp.net-mvc-3
我正在开发一个带有实体框架和 SQL Server 2008 的 MVC3 应用程序。我想使用我的数据库中的数据(畅销产品)和 ul 和 li HTML 标签在 _layout.cshtml 文件中呈现动态菜单。通常,视图可以接收模型对象,但 _Layout 文件不能。所以我想知道如何将渲染菜单所需的数据传递给_Layout。
【问题讨论】:
标签: asp.net-mvc-3
在我看来,最好的方法是使用 _layout.cshtml 中的RenderAction。然后,该操作可以使用您想要呈现菜单的任何模型。
预计到达时间:此处示例:https://stackoverflow.com/a/4624417/1169696
另一种方法是从基础模型派生所有模型,然后将该基础模型用作 _layout 的模型。这具有必须在所有视图中指定模型的缺点,即使它们自己实际上并不需要一个模型(当然,必须从基本模型派生所有模型本身可能被视为缺点)。
【讨论】: