Обработка параметров контроллера ASP.NET MVC - PullRequest
2 голосов
/ 03 апреля 2010

В моем приложении у меня есть строковый параметр, называемый "shop", который требуется во всех контроллерах, но его необходимо преобразовать, используя такой код:

        shop = shop.Replace("-", " ").ToLower();

Как я могу сделать это глобально для всех контроллеров, не повторяя эту строку снова и снова? Спасибо, Leo

1 Ответ

3 голосов
/ 03 апреля 2010

Напишите фильтр пользовательских действий , переопределите OnActionExecuting() и примените фильтр ко всем вашим контроллерам. (Или просто переопределите OnActionExecuting() в вашем базовом контроллере, если у вас вообще есть базовый контроллер.) Метод действия будет выглядеть примерно так:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    var parameters = filterContext.ActionParameters;
    object shop;
    if (parameters.TryGetValue("shop", out shop))
    {
        parameters["shop"] = ((string)shop).Replace("-", " ").ToLower();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...