类中有没有类似ActionExecutingContext's ActionDescriptor.ActionParameters
属性的东西ActionExecutedContext
?
我需要在这个阶段(OnActionExecuted
)调查动作的参数。
类中有没有类似ActionExecutingContext's ActionDescriptor.ActionParameters
属性的东西ActionExecutedContext
?
我需要在这个阶段(OnActionExecuted
)调查动作的参数。
您可以像这样获取参数和值:
// Format the parameters based on our requirements:
StringBuilder parameters = new StringBuilder();
foreach (var p in filterContext.ActionDescriptor.GetParameters())
{
if (filterContext.Controller.ValueProvider.GetValue(p.ParameterName) != null)
{
parameters.AppendFormat("\r\n\t{0}\t\t:{1}", p.ParameterName,
filterContext.Controller.ValueProvider.GetValue(p.ParameterName).AttemptedValue);
}
}
你要ActionExecutedContext.ActionDescriptor.GetParameters()
方法吗?AFAIK 没有这样的ActionDescriptor.ActionParameters
属性。是因为在您的代码中有一个派生类ActionDescriptor
吗?
您可以在 OnActionExecuting 方法中获得价值:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var parameters = filterContext.ActionDescriptor.GetParameters();
if (parameters.Length >= 1)
{
var p = parameters[0];
var val = filterContext.ActionParameters[p.ParameterName];
Type type = p.ParameterType;
}
}