How can I intercept the HTML from a ViewResult, modify it and serve it up?
asp.net-mvc, c#
Solution
Sounds like you want to write an `ActionFilterAttribute`. This attribute has the following methods:
- OnActionExecuting - called just before the decorated action is executed
- OnActionExecuted - called after the action method is called, but before the `ActionResult` is rendered.
- OnResultExecuting - callled before the result is rendered
- OnResultExecuted - called after the result is rendered
There is an example here which returns either JSON or XML data depending on the "Content-type" header: Create REST API using ASP.NET MVC that speaks both Json and plain Xml
Problem
I'm writing a simple CMS. I want to be able to load a View, having it included inside a master page, and then scan the HTML so that I can replace some custom tags (like {{blog}} with my own blog output) and then serve it up to the browser. How can I get access to the HTML from the ViewResult in order to intercept it?