OnActionExecuting ValidationAttribute
Posted
技术标签:
【中文标题】OnActionExecuting ValidationAttribute【英文标题】: 【发布时间】:2021-09-09 09:08:50 【问题描述】:我试图从动作方法中获取参数的值,而不是下划线的值,不应该有键吗?(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)
【问题讨论】:
是的,有一个 x.Key。不知道是否重要,但您使用的是哪个代码版本(.net 版本) 我目前正在使用 3.1 长期支持 【参考方案1】:请试试这个方法,它会带上一个已经传过来的控制器的参数值。
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];
输出:
您可以在official document here获取更多信息
【讨论】:
我已经把代码改成了这个版本,我觉得它更好。非常感谢你 抱歉,我是***的新手 没问题,很高兴为您提供帮助。以上是关于OnActionExecuting ValidationAttribute的主要内容,如果未能解决你的问题,请参考以下文章
如何在OnActionExecuting中获取控制器和操作名称?
OnActionExecuting ValidationAttribute
net core体系-web应用程序-4asp.net core2.0 项目实战-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
使用饿了么ui表单验证报错: [Element Warn][Form]model is required for validat