ASP MVC编译时包括局部视图
我有两个不同的视图,每个视图调用500个局部视图调用。 好的设计告诉我,我应该保留部分视图,并从两个覆盖视图引用它,以防止代码重复。 不幸的是,性能受到影响 – 在其他两个视图中复制粘贴部分视图会产生300毫秒的改进。
反正我是否可以在上层视图中包含局部视图,获得不使用实际的Partial()调用的性能优势,同时不必维护重复的代码? 注意 – 我意识到我可以编写某种VS附加组件来复制粘贴视图代码,但我正在寻找其他选项……
可以尝试提高性能的方法:
- 使用
@{Html.RenderPartial("_foo");}
代替@Html.Partial("_foo")
来包含部分 - 始终在发布模式下进行基准测试。 与调试模式相比,ASP.NET MVC执行了大量优化和缓存。
如果前两个建议没有产生所需的性能,那么您可以尝试使用将生成HTML片段的自定义HTML帮助程序替换partial。 如果部分的HTML不是很复杂,这可能会有效。
我将在这里约会自己,但你是否考虑过使用服务器端include来注入部分视图的代码,而不是调用它? 我绝对没有经验或主观的证据表明这会更快。 只是值得一试的东西。
- 强类型视图中多模型表示的模型绑定
- mvc 5表中的SelectList,DropDownList为空值
- ASP.NET MVC 6中MVC Controller和Web API Controller有什么区别?
- 在ASP.Net Identity(MVC)中的“注册”期间保存其他配置文件数据
- 无法加载文件或程序集’System.IdentityModel,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089’或其依赖项之一
- Json.Net和ActionResult
- 通过向导方法填充ViewModel
- 使用Autofac将log4net注入控制器
- Aspnet核心十进制绑定不适用于非英语文化