加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 有没有办法迭代ASP.NET MVC3站点中的所有控制

发布时间:2020-12-16 10:00:12 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试在ASP.NET MVC 3网站中创建一个动态菜单功能 – 我想知道是否有一种内置方法可以在运行时获取所有控制器和操作? 我意识到我可以使用反射来查找我的控制器上的所有公共方法,但这并不能完全给出我应该放在 a href =“...”中的相对URL.标签. 此外,
我正在尝试在ASP.NET MVC 3网站中创建一个动态菜单功能 – 我想知道是否有一种内置方法可以在运行时获取所有控制器和操作?

我意识到我可以使用反射来查找我的控制器上的所有公共方法,但这并不能完全给出我应该放在< a href =“...”>中的相对URL.标签.

此外,我将使用过滤器属性来装饰一些“操作”,这些属性指示当前用户是否可以查看/转到这些页面.因此,如果我也可以访问过滤器以便能够调用IsAccessGranted()方法,那将是最好的.

我有什么选择?什么是最好的选择?

解决方法

MVC中没有内置机制来枚举所有控制器和操作.您必须使用反射来检查所有已加载的类型,并查看它们的方法和相关属性.当然,这是假设您使用默认的基于反射的操作调度机制.由于MVC的管道可以在很多地方被替换,因此很容易注入一个系统来调用不基于CLR类和方法的动作方法.但是,如果您完全控制您的应用程序,那么生活就更容易了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读