Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将值从控制器传递到自定义操作Atribute筛选器_Asp.net Mvc_Custom Action Filter - Fatal编程技术网

Asp.net mvc 将值从控制器传递到自定义操作Atribute筛选器

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”对象 该对象有一个属性控制器,即当前控制器。您可以检查它

我有一个从BaseController类继承的控制器。此BaseController具有类型为myUser的受保护属性currentUser

我已经创建了一个自定义的Action Filter属性,需要在这个AtAttribute的OnActionExecuting事件中访问myUser的值

这可能吗?如果是,如何实现此功能


关于。

您必须覆盖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”。。。。也许是时候戴些阅读眼镜了