2008-11-05 8 views
2

J'essaie de modifier le flux de sortie pour rechercher/remplacer certaines balises XHTML renvoyées à partir d'une vue. Je pourrais utiliser un filtre de réponse ASP.NET traditionnel, mais je pense d'abord essayer le filtre d'action ASP.NET MVC.Comment utiliser ASP.NET MVC ActionFilterAttribute/IResultFilter pour modifier la sortie

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); 
    } 
} 

Je n'arrive pas à déterminer comment modifier ou obtenir le flux de sortie viewResult. Les exemples sur le Web affichent uniquement les propriétés de base de journalisation, sans jamais modifier le résultat.

Répondre

3

Je ne pense pas que ce soit une bonne idée de le faire avec ActionFilterAttribute, dès lors qu'il est dédié aux décisions de niveau contrôleur, ne pense pas spécifique au post-traitement de la requête HTML. La meilleure façon de le faire correctement est peut-être de créer une classe View View spécifique ou même ViewEngine, ou d'utiliser de bons HttpModules comme ils ont été créés pour des choses comme vous essayez de le faire. À votre santé.

Questions connexes