MVC - 从代码输出HTML,更好地使用Response.OutputStream或StringBuilder

问题描述:

我正在写一个asp.net MVC网站,我已经写了一些扩展到Html类来为我生成一些HTML。MVC - 从代码输出HTML,更好地使用Response.OutputStream或StringBuilder

从扩展方法内部直接写入Response.Output流还是让扩展方法返回字符串更好?

直接从View使用Reponse.Output流的优点/缺点是什么?

用例:

<%= Html.GenerateHtml() %> 

<% Html.GenerateFoo() %> 

从GenerateFoo()方法中的我可以用下面的

... 
helper.ViewContext.HttpContext.Response.OutputStream.Write() 
... 

返回一个字符串可以让您在转储到Response.Write()之前修改/检查/捕获结果。

首先直接令状到输出streem,我不会使用OutputStream来输出文本,我会使用Response.Write()。其次,返回一个字符串到<%=调用Response.Write()无论如何(有时在你的Temp ASP.NET文件夹中查看一个ASPX的编译输出)。