我试图从action方法中获得参数的值,而不是带下划线的值,难道不应该有key?(x.key)才能得到参数名吗?
var param = context.ActionArguments
.SingleOrDefault(x => x.Value.ToString().Contains("DTO")).Value;
[HttpPost]
[ServiceFilter(typeof(ValidationFilterAttribute))]
public async Task<IActionResult> CreateCompany([FromBody] CompanyForCreationDTO company)发布于 2021-09-09 09:57:21
请尝试这样做,它将带来已传递的控制器的参数值。
public void OnActionExecuting(ActionExecutingContext context)
{
var descriptor = context.ActionDescriptor as ControllerActionDescriptor;
if (descriptor != null)
{
var parameters = descriptor.MethodInfo.GetParameters();
foreach (var parameter in parameters)
{
var argument = context.ActionArguments[parameter.Name];
}
}
}输出:

您可以在这里的正式文件中获得更多信息。
https://stackoverflow.com/questions/69115333
复制相似问题