ASP.NET MVC 2: существует ли метод OnPreAction в классе контроллера? - PullRequest
1 голос
/ 01 марта 2011

Если это так, почему я не могу переопределить его в своем коде?

protected override bool OnPreAction(string actionName, System.Reflection.MethodInfo methodInfo)
{
    //do stuff

    return base.OnPreAction(actionName, methodInfo);
}

Размещенный код находится в контроллере, выходящем из класса Controller.Когда я компилирую, я получаю эту ошибку:

'Namespace.Controllers.XXController.OnPreAction (string, System.Reflection.MethodInfo)': не найден подходящий метод для переопределения

Если метод не существует, есть ли кто-нибудь, кто его заменит?

Если он существует, в чем проблема в моем коде?

Пожалуйста, помогите!

Спасибо

Ответы [ 3 ]

4 голосов
/ 01 марта 2011

Вы должны переопределить OnActionExecuting.

1 голос
/ 01 марта 2011

Нет такого метода. Вы, вероятно, хотите OnActionExecuting

0 голосов
/ 01 марта 2011

Вы ищете Атрибуты ActionFilter . Вы можете легко свернуть свою собственную предварительную / последующую обработку для одного действия или для каждого действия в контроллере.

Кстати, некоторые стандартные фильтры, основанные на том же механизме, включены в ASP.NET MVC, например атрибут Authorize .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...