Может ли фильтр действий иметь доступ к частному объекту в контроллере? - PullRequest
1 голос
/ 13 июля 2010

у меня

public class FundController 
{
    private Site _site;
    public ViewResult Fund()
    {
    }
}

Я бы хотел добавить фильтр действий к этому методу Фонда:

public class FundController 
{
    private Site _site;

    [MyFilter]
    public ViewResult Fund()
    {
    }
}

, но Фильтру действий необходим доступ к _site. Это возможно? Если да, то как?

Ответы [ 2 ]

6 голосов
/ 13 июля 2010

Откройте поле в открытом свойстве, затем приведите контроллер в фильтре к FundController.

Например:

FundController controller = (FundController)filterContext.Controller;

Site site = controller.Site;
0 голосов
/ 13 июля 2010

Вы также можете настроить свой ActionFilter с обязательным параметром, который вы затем передаете на сайт

[MyFilter(_site)]
public ViewResult Fund() {
}
...