我有
public class FundController
{
private Site _site;
public ViewResult Fund()
{
}
}
我想在此基金方法中添加一个动作过滤器:
public class FundController
{
private Site _site;
[MyFilter]
public ViewResult Fund()
{
}
}
但是操作过滤器需要访问_site
。这可能吗?如果是这样,怎么样?
答案 0 :(得分:6)
将该字段暴露在公共属性中,然后将过滤器中的控制器转换为FundController
。
例如:
FundController controller = (FundController)filterContext.Controller;
Site site = controller.Site;
答案 1 :(得分:-1)
您还可以使用必需参数设置ActionFilter,然后在站点中传递
[MyFilter(_site)]
public ViewResult Fund() {
}