我正在写一个简单的CMS。
我希望能够加载一个View,将其包含在母版页中,然后扫描HTML以便我可以用我自己的博客输出替换一些自定义标记(例如{{blog}})然后提供它取决于浏览器。
如何从ViewResult访问HTML以拦截它?
答案 0 :(得分:3)
听起来你想写一个ActionFilterAttribute
。该属性具有以下方法:
ActionResult
之前调用。此处有一个示例,根据“Content-type”标题返回JSON或XML数据:Create REST API using ASP.NET MVC that speaks both Json and plain Xml
答案 1 :(得分:3)
这将是棘手的,因为ViewResult将其响应直接写入Response.Stream。因此,您可能必须处理Response.Filter属性以将ViewResult输出到MemoryStream,以便您可以在返回ContentResult之前操作内容。所有这些都可能发生在OnResultExecuting上。