【问题标题】:How to use ASP.NET MVC ActionFilterAttribute/IResultFilter to modify output如何使用 ASP.NET MVC ActionFilterAttribute/IResultFilter 来修改输出
【发布时间】:2008-11-05 00:30:33
【问题描述】:

我正在尝试修改输出流以搜索/替换从视图返回的一些 XHTML 标记。我可以使用传统的 ASP.NET 响应过滤器,但我想先尝试 ASP.NET MVC 操作过滤器。

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 输出流。网络上的示例仅显示日志记录的基本属性,从不修改结果。

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    我认为使用 ActionFilterAttribute 执行此操作不是一个好主意,因为它专用于控制器级别的决策,而不是特定于 HTML 请求的后处理。正确执行此操作的最佳方法可能是创建特定的基 View 类甚至 ViewEngine,或者使用旧的良好 HttpModules,因为它们是为您尝试做的事情而创建的。干杯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多