我有两个不同的 View ,每个 View 对一个公共(public)部分 View 进行超过 500 次局部 View 调用。良好的设计告诉我,我应该将部分 View 保留在原处,并从两个重叠的 View 中引用它,以防止代码重复。不幸的是,性能受到影响 - 将部分 View 复制粘贴到其他两个 View 中会产生 300 毫秒的改进。
无论如何,我是否可以在覆盖 View 中包含部分 View ,获得不使用实际 Partial() 调用的性能优势,同时不必维护重复的代码?注意 - 我意识到我可以编写某种可以复制粘贴 View 代码的 VS 插件,但我正在寻找其他选项...
最佳答案
可以尝试的可以提高性能的方法:
- 使用
@{Html.RenderPartial("_foo");}
而不是@Html.Partial("_foo")
来包含部分内容 - 始终在 Release模式下进行基准测试。与 Debug模式相比,ASP.NET MVC 执行了许多优化和缓存。
如果前 2 个建议未产生所需的性能,那么您可以尝试使用将生成 HTML 片段的自定义 HTML 帮助器替换部分内容。如果部分的 HTML 不是很复杂,这可能会起作用。
关于c# - ASP MVC 编译时包含部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8920250/