2008-11-05 2 views
2

Я пытаюсь изменить выходной поток для поиска/замены некоторых тегов XHTML, возвращаемых из представления. Я мог бы использовать традиционный фильтр ответов ASP.NET, но сначала подумал попробовать фильтр действия ASP.NET MVC.Как использовать ASP.NET MVC ActionFilterAttribute/IResultFilter для изменения вывода

public class MyResultFilter : ActionFilterAttribute 
{ 
    public override void OnResultExecuting(ResultExecutingContext filterContext) 
    {    
     base.OnResultExecuting(filterContext); 
    } 
    public override void OnResultExecuted(ResultExecutedContext filterContext) 
    { 
     ViewResult viewResult = filterContext.Result as ViewResult; 
     Debug.WriteLine("OnResultExecuted"); 
     base.OnResultExecuted(filterContext); 
    } 
} 

У меня возникли проблемы с определением, как изменить или получить доступ к потоку вывода viewResult. Примеры в Интернете показывают только основные свойства регистрации, никогда не изменяя результат.

ответ

3

Я не думаю, что это хорошая идея сделать это с помощью ActionFilterAttribute, так как вскоре он посвящен решениям на уровне контроллера, не думает, что это относится к последующей обработке HTML-запроса. Лучший способ сделать это правильно - возможно, создать конкретный базовый класс View или даже ViewEngine или использовать старые хорошие HttpModules, поскольку они были созданы для таких вещей, как вы пытаетесь сделать. Приветствия.

Смежные вопросы