首页 新闻 会员 周边

通过反射技术,怎么获取asp.net mvc Action中的 [HttpPost] [HttpPut] [HttpGet] [HttpDelete]等请求方法

0
悬赏园豆:40 [已关闭问题] 关闭于 2016-08-07 23:02

通过反射技术,怎么获取asp.net mvc Action中的 [HttpPost] [HttpPut] [HttpGet] [HttpDelete]等请求方法名称

wongdavid的主页 wongdavid | 菜鸟二级 | 园豆:394
提问于:2015-06-14 21:33
< >
分享
所有回答(2)
0
 var controllerType = typeof (HomeController);
 var httpPostMethods = from method in controllerType.GetMethods() 
                                   where method.IsDefined(typeof (HttpPostAttribute), false) 
                                   select method.Name;
foreach (var methodName in httpPostMethods)
 {
         Debug.WriteLine(methodName);
}

上面只是httpPost的例子,其他都一样,主要是获取控制器中的所有定义了HttpPost等特性的方法

李玉宝 | 园豆:211 (菜鸟二级) | 2015-06-14 23:22
0

你可以加一个过滤器特性,可以给全局定义一个过滤器,在过滤器中就可以获取到你访问的control,Action的属性,也可以获取到是post还是get等方法

认真的我 | 园豆:252 (菜鸟二级) | 2015-06-30 13:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册