如何在局部视图中创建数据驱动菜单
How to create data-driven menu in partial view
我是 ASP.NET MVC 的新手,曾经使用原始 SQL 构建 WebForm...所有 EF、LINQ 东西都让我发疯,还有很多东西要赶上...
无论如何,我有一个主页(index.cshtml) 包含日历、视频...很多东西,我将它们都视为小部件,计划将它们制作成单独的部分视图。 index.cshtml 有一个 _DefaultLayout.cshtml 布局页面,这样我就可以在那里插入全局菜单并自动加载到每个页面中,我在名为 [=24= 的局部视图中有菜单 HTML ], 使用 Nav Controller 和 Nav Model 从 DB 获取数据。
所以...索引 -> _DefaultLayout(通过 _ViewStart) -> _PVTopNav
我的第一个问题是如何在 Nav Controller 中启动 Action?由于最上面的索引 HomeController 不会包含获取菜单数据的操作。
我从其他 post 那里读到有关 RenderAction() 的信息,只是不知道如何使用它。
在您的视图中,您可以使用 Html.Action() 助手来调用任何控制器中的任何操作。如果操作结果是 PartialViewResult,它将呈现 html..
@Html.Action("actionName", "controllerName", "routeValues")
我是 ASP.NET MVC 的新手,曾经使用原始 SQL 构建 WebForm...所有 EF、LINQ 东西都让我发疯,还有很多东西要赶上...
无论如何,我有一个主页(index.cshtml) 包含日历、视频...很多东西,我将它们都视为小部件,计划将它们制作成单独的部分视图。 index.cshtml 有一个 _DefaultLayout.cshtml 布局页面,这样我就可以在那里插入全局菜单并自动加载到每个页面中,我在名为 [=24= 的局部视图中有菜单 HTML ], 使用 Nav Controller 和 Nav Model 从 DB 获取数据。
所以...索引 -> _DefaultLayout(通过 _ViewStart) -> _PVTopNav
我的第一个问题是如何在 Nav Controller 中启动 Action?由于最上面的索引 HomeController 不会包含获取菜单数据的操作。
我从其他 post 那里读到有关 RenderAction() 的信息,只是不知道如何使用它。
在您的视图中,您可以使用 Html.Action() 助手来调用任何控制器中的任何操作。如果操作结果是 PartialViewResult,它将呈现 html..
@Html.Action("actionName", "controllerName", "routeValues")