我正在寫一個簡單的CMS。如何攔截來自ViewResult的HTML,修改並提供它?
我希望能夠加載視圖,並將其包含在母版頁中,然後掃描HTML以便我可以用自己的博客輸出替換一些自定義標籤(例如{{blog}}),然後將其提供給瀏覽器。
如何從ViewResult訪問HTML以攔截它?
我正在寫一個簡單的CMS。如何攔截來自ViewResult的HTML,修改並提供它?
我希望能夠加載視圖,並將其包含在母版頁中,然後掃描HTML以便我可以用自己的博客輸出替換一些自定義標籤(例如{{blog}}),然後將其提供給瀏覽器。
如何從ViewResult訪問HTML以攔截它?
聽起來像你想寫一個ActionFilterAttribute
。此屬性有以下方法:
ActionResult
之前被渲染。這裏有一個例子,它返回任一視「內容 - JSON或XML數據類型「標題:Create REST API using ASP.NET MVC that speaks both Json and plain Xml
這會很棘手,因爲ViewResult直接將其響應寫入Response.Stream。因此,您可能必須處理Response.Filter屬性以將ViewResult輸出到MemoryStream,以便在返回ContentResult之前操作內容。所有這些都可能發生在OnResultExecuting中。
此答案中的鏈接已經死亡:-( – 2016-05-09 20:24:43
我已更正鏈接,轉到我認爲是原始來源的文章 – 2016-05-14 12:17:21