0

我为我的 ASP.NET MVC 应用程序创建了一个名为“Admin”的区域项目。

这将包含站点管理部分的所有逻辑,用户可以在其中添加/删除页面等。

顶部有一个菜单,用户可以管理的内容。(例如“内容”、“用户”等)

对于其中的每一个,我都在制作一个控制器('ContentController'、'UsersController' 等)

我想知道如何设置导航,因为似乎有不同的方法。

一种方法是使用 MvcSiteMap,它涉及创建一个“.sitemap”文件并使用“MvcSiteMapNode”属性在我的控制器上装饰操作。

上面的问题是实现起来很复杂(尤其是在 Area 项目中,因为 Areas 在 ASP.NET MVC 中的工作方式)。这似乎也有点矫枉过正。

我想出了一个不同的方法,就是用我自己的属性来装饰每个控制器。然后我有一个辅助方法,它通过使用反射循环遍历每个控制器来呈现我的导航,挑选出具有该属性的那些,然后将它们添加到导航菜单中。

您对上述方法有何看法?你能想出一种更简单的方法吗?

4

1 回答 1

1

所以我按照自己的方式完成了 - 每个控制器上的一个属性,然后是一个静态方法,它在应用程序启动时读取所有属性(使用反射)并将它们保存在内存中。

到目前为止,这一切都很好,我不需要 MvcSiteMap 的任何高级功能。

于 2009-09-08T02:35:37.890 回答