ASP.NET MVC - 为什么HtmlHelpers不直接呈现给流?

时间:2012-03-30 20:26:30

标签: asp.net-mvc

为什么ASP.NET MVC HTML Helpers会返回MvcHtmlString实例?为页面中的每个渲染助手分配一个字符串似乎效率很低。为什么Helpers的工作方式与WebForms Controls的工作方式不同,直接渲染到HtmlTextWriter?

2 个答案:

答案 0 :(得分:1)

返回一个字符串可以让你用它做更多的事情,或者在其他地方调用它们(比如帮助类)。

如果你想要perf,是其中一些直接写的版本,例如RenderPartial()。请参阅此堆栈溢出问题:Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction

编辑:这一个:What is the difference (if any) between Html.Partial(view, model) and Html.RenderPartial(view,model) in MVC2?

答案 1 :(得分:1)

MVC视图不仅可以用于生成HTML,还可以用作模板系统,例如用于生成电子邮件。您可以在StackOverflow上轻松找到将视图直接呈现给字符串的方法。这也使您更容易测试您的观点。