Asp.net mvc ASP.NET MVC视图后处理
在Monorail中,有一个变换过滤器概念,其中渲染视图可以应用进一步的处理。用例:Asp.net mvc ASP.NET MVC视图后处理,asp.net-mvc,Asp.net Mvc,在Monorail中,有一个变换过滤器概念,其中渲染视图可以应用进一步的处理。用例: 过程降价 删除空白 去除不需要的字符 我怀疑在ASP.NET MVC中没有现成的方法可以做到这一点,但有人有建议吗?我正在使用NVelocity视图引擎。创建一个自定义操作筛选器并重写OnResultExecuted方法来执行额外的处理,然后用该属性装饰控制器。我实现的一个可能解决方案是创建一个自定义ViewResult并在其中执行工作。这不是一个优雅的解决方案,因为我基本上只是将普通实现复制并粘贴到重写的
- 过程降价
- 删除空白
- 去除不需要的字符
我怀疑在ASP.NET MVC中没有现成的方法可以做到这一点,但有人有建议吗?我正在使用NVelocity视图引擎。创建一个自定义操作筛选器并重写OnResultExecuted方法来执行额外的处理,然后用该属性装饰控制器。我实现的一个可能解决方案是创建一个自定义ViewResult并在其中执行工作。这不是一个优雅的解决方案,因为我基本上只是将普通实现复制并粘贴到重写的ExecuteSult中,并在那里调整渲染输出。这一行:
View.Render(viewContext, context.HttpContext.Response.Output);
变成:
TextWriter writer = new StringWriter();
View.Render(viewContext, writer);
string renderedResult = writer.ToString();
renderedResult = renderedResult.Replace("hello", "goodbye");
context.HttpContext.Response.Output.Write(renderedResult);
有关资料来源如下:
在我看来,这是一种非常糟糕的方法,但它确实有效。如何在OnResultExecuted中获得渲染视图?