我需要將一些文本注入由ASP.NET MVC ViewResult生成的http響應正文中。我擴展了ViewResult並覆蓋了ExecuteResult方法,在這一點上:在這一點上:如何高效地搜索字符串並在C#中插入
this.View.Render(viewContext, context.HttpContext.Response.Output);
我需要攔截響應輸出。
我知道我可以這樣做:
var builder = new StringBuilder();
var writer = new StringWriter(builder);
this.View.Render(viewContext, writer);
// adjust builder
context.HttpContext.Response.Write(builder);
但我不知道什麼是最好的方式去這樣做的注射。我怎樣纔能有效地操縱響應體字符串?我需要搜索</body>
(這將接近字符串的末尾),然後插入一些文本。
更新我想插入的文本將輸出到TextWriter
。有沒有辦法避免ToString()
呢?
謝謝
我沒有文本作爲一個字符串,它從一個TextWriter過來我知道我可以的ToString(),但是,這個似乎不像最有效的方式 – 2010-10-14 17:52:28
你的代碼假定他是可用的字符串,但他老有StringBuild呃和StringWriter。當然,他可以使用sb.ToString()進行.fexOf調用。 – CodesInChaos 2010-10-14 17:52:50