Dav*_*ave 5 asp.net-mvc asp.net-mvc-3
对给定任务使用 HtmlHelper 或 Partial 之间是否存在性能差异?
例如,我正在编写一个 HtmlHelper“控件”来在编辑器中创建一个具有以下签名的链接:
public static HtmlString RecordNameLink(
this HtmlHelper htmlHelper,
string linkText,
string editActionName,
object editRouteValues,
string deleteActionName = null,
object deleteRouteValues = null)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,编辑按钮将始终显示,删除按钮仅在包含时才会显示。或者,我可以这样做:
@Html.Partial("Controls/RecordNameLink", Model)
Run Code Online (Sandbox Code Playgroud)
(或传递部分特定模型)
但是有没有理由选择一个而不是另一个,特别是一个比另一个有更好的性能吗?(虽然我愿意了解更多关于一般差异的信息)
谢谢。
在 MVC 3 中,对于此类事情,使用 html 帮助器渲染会比使用 Partial 更快。
进行一个测试,在循环中渲染部分 100 多次,而不是让部分包含循环(部分渲染表的每行,部分渲染表的所有行)。您可能会对结果感到非常惊讶。
您的 HTML Helper 将跳过视图引擎寻找部分、调用虚拟路径提供程序来加载它等。
| 归档时间: |
|
| 查看次数: |
1019 次 |
| 最近记录: |