gpt4 book ai didi

asp.net-mvc - ASP.NET MVC - 访问 ActionFilter 中的 Controller 属性

转载 作者:行者123 更新时间:2023-12-03 14:34:10 26 4
gpt4 key购买 nike

我正在使用 Unity 将一个新类实例化到 Controller 构造函数中,并将注入(inject)的类保存在 Controller 内的一个属性中。然后我想使用一个 ActionFilter 来查看注入(inject)的类是否有一些我在它的构造函数中验证的属性。那么有没有办法使用 ActionFilter 来验证注入(inject)类的属性?

提前致谢

最佳答案

像这样的东西?:

public class ValidateActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var yourController = filterContext.Controller as YourController;

if (yourController == null)
{
throw new InvalidOperationException("It is not YourController !!!");
}

// It is YourController - validate here
var yourProperty = yourController.YourProperty;

// UPDATED ***************************
// or test whether controller has property

var property = filterContext.Controller.GetType().GetProperty("YourProperty");

if(property == null)
{
throw new InvalidOperationException("There is no YourProperty !!!");
}
}
}

关于asp.net-mvc - ASP.NET MVC - 访问 ActionFilter 中的 Controller 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1171359/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com