我为我的 ASP.NET MVC 应用程序创建了一个名为“Admin”的区域项目。
这将包含站点管理部分的所有逻辑,用户可以在其中添加/删除页面等。
顶部有一个菜单,用户可以管理的内容。(例如“内容”、“用户”等)
对于其中的每一个,我都在制作一个控制器('ContentController'、'UsersController' 等)
我想知道如何设置导航,因为似乎有不同的方法。
一种方法是使用 MvcSiteMap,它涉及创建一个“.sitemap”文件并使用“MvcSiteMapNode”属性在我的控制器上装饰操作。
上面的问题是实现起来很复杂(尤其是在 Area 项目中,因为 Areas 在 ASP.NET MVC 中的工作方式)。这似乎也有点矫枉过正。
我想出了一个不同的方法,就是用我自己的属性来装饰每个控制器。然后我有一个辅助方法,它通过使用反射循环遍历每个控制器来呈现我的导航,挑选出具有该属性的那些,然后将它们添加到导航菜单中。
您对上述方法有何看法?你能想出一种更简单的方法吗?