Asp.net mvc 将值从控制器传递到自定义操作Atribute筛选器
我有一个从BaseController类继承的控制器。此BaseController具有类型为myUser的受保护属性currentUser 我已经创建了一个自定义的Action Filter属性,需要在这个AtAttribute的OnActionExecuting事件中访问myUser的值 这可能吗?如果是,如何实现此功能Asp.net mvc 将值从控制器传递到自定义操作Atribute筛选器,asp.net-mvc,custom-action-filter,Asp.net Mvc,Custom Action Filter,我有一个从BaseController类继承的控制器。此BaseController具有类型为myUser的受保护属性currentUser 我已经创建了一个自定义的Action Filter属性,需要在这个AtAttribute的OnActionExecuting事件中访问myUser的值 这可能吗?如果是,如何实现此功能 关于。您必须覆盖OnActionExecuting方法,该方法将传入“ActionExecutingContext”对象 该对象有一个属性控制器,即当前控制器。您可以检查它
关于。您必须覆盖OnActionExecuting方法,该方法将传入“ActionExecutingContext”对象 该对象有一个属性控制器,即当前控制器。您可以检查它是否属于所需类型 因此:
您必须覆盖将传入“ActionExecutingContext”对象的OnActionExecuting方法 该对象有一个属性控制器,即当前控制器。您可以检查它是否属于所需类型 因此:
是的,您可以这样做,但首先您必须将currentUser属性从protected转换为public,或者通过只读属性或方法公开它 然后,您可以使用以下命令访问它
var baseController = filterContext.Controller as BaseController;
if (baseController != null) {
//Access your exposed **public** property or method
baseController.currentUser
}
是的,您可以这样做,但首先您必须将currentUser属性从protected转换为public,或者通过只读属性或方法公开它 然后,您可以使用以下命令访问它
var baseController = filterContext.Controller as BaseController;
if (baseController != null) {
//Access your exposed **public** property or method
baseController.currentUser
}
只需稍作更改,即可将myUser的访问器从受保护更改为公共,但效果良好。非常感谢。啊,是的,我错过了你问题中粗体的“protected”。。。。现在可能是阅读玻璃的时候了。只需稍作更改,将myUser的访问器从受保护更改为公共,但效果很好。非常感谢。啊,是的,我错过了你问题中粗体的“protected”。。。。也许是时候戴些阅读眼镜了