asp.net-mvc - 在 MVC3 页面中包含 RenderPartial 的开销是多少

标签 asp.net-mvc asp.net-mvc-3 performance razor html.renderpartial

我正在尝试尽可能优化我的代码。我使用了很多这样的部分文件:

@if (Model.PageMeta.Sidebar == PageMetaSidebar.Small) { Html.RenderPartial("_SmallSidebar"); }
..
..
..

有人可以告诉我这是否会带来性能开销。据我所知,Razor View 是经过编译的。当页面显示时,是否会读取另一个磁盘以获取我使用的每个部分文件的数据。如果是这种情况,那么我的布局页面上有 5 个 RenderPartials 会带来多少额外开销。

最佳答案

这里不会有明显的性能影响,因为在将生成的 HTML 流回浏览器之前,部分内容只是被拉入 asp.net Web 服务器。这并不是一个昂贵的磁盘读取操作,并且不会比单个 cshtml 慢。显然,如果在许多 View 中重复使用相同的局部 View ,则应该使用局部 View 。如果仅在单个 View 中使用,那么只是为了清楚起见,将其拆分为单独的部分,以将模型的各个部分分成不同的 View 。

请注意,您也可以只使用:

@Html.Partial("YourPartial")

而不是使用RenderPartial。这将在本地 View 文件夹中查找,如果找不到,则在共享文件夹中查找。

关于asp.net-mvc - 在 MVC3 页面中包含 RenderPartial 的开销是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875070/

相关文章:

c - 访问 C 中的结构成员有多快?

sql - 为什么 SQLite 需要这么长时间来获取数据?

javascript - 如果我在 for 循环中调用一个包含 for 循环的函数,那是 O(n^2) 时间还是 O(n)?

asp.net-mvc - 如何将单个图像与 Orchard 中的内容类型相关联

c# - 如何在 Entity Framework 中使用流利的 api 为一对零指定外键属性..一个关系

asp.net-mvc - 当前日期和时间 - MVC Razor 中的默认值

asp.net-mvc-3 - 为什么 T4MVC 引入虚拟 Controller 操作?

确认消息框中的 ASP.NET MVC ViewBag

asp.net-mvc - 使用 WIF 和 jquery ajax 请求时 ASP.NET MVC 3 中的 session Cookie 过期处理

security - 从客户端 (&) 检测到潜在危险的 Request.Path 值