C#ActionExecutedContext 获取方法的参数
时间: 2024-03-09 09:46:26 浏览: 15
在 ASP.NET MVC 中,可以通过 ActionExecutedContext 参数获取方法的参数。ActionExecutedContext 类提供了许多有用的属性和方法,包括 ActionDescriptor、Controller、HttpContext、Result 等。
可以在 ActionFilterAttribute 中的 OnActionExecuted 方法中获取 ActionExecutedContext 对象并通过它获取方法的参数。下面是一个示例:
```
using System.Web.Mvc;
public class MyFilter : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
// 获取方法的参数
var parameters = filterContext.ActionDescriptor.GetParameters();
foreach (var parameter in parameters)
{
var name = parameter.ParameterName;
var value = filterContext.ActionParameters[name];
// 处理参数
}
}
}
```
在上面的代码中,通过 ActionDescriptor.GetParameters 方法获取方法的参数列表,并通过 ActionParameters 属性获取方法的参数值。可以根据需要进行处理。
然后,在需要应用过滤器的方法上添加 MyFilter 特性即可:
```
[MyFilter]
public ActionResult MyMethod(string param1, int param2)
{
// ...
}
```
这样,在 MyMethod 方法执行后,MyFilter 就会被调用,并且可以获取方法的参数。