通过反射技术,怎么获取asp.net mvc Action中的 [HttpPost] [HttpPut] [HttpGet] [HttpDelete]等请求方法名称
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等特性的方法
你可以加一个过滤器特性,可以给全局定义一个过滤器,在过滤器中就可以获取到你访问的control,Action的属性,也可以获取到是post还是get等方法