【发布时间】:2013-01-07 15:29:53
【问题描述】:
局部视图和 MVC 的一个问题是,如果您的可重用局部视图需要某些 javascript,则无法将其包含在页面底部的脚本部分中。除了性能问题之外,这意味着还没有像 jquery 这样必要的东西,你必须使用时髦的延迟执行任何 jquery 相关代码。
解决这个问题的方法是允许部分中的部分,这样部分可以注册它的脚本出现在布局的正确位置。
据说,MVC4 的优化/捆绑功能应该可以解决这个问题。但是,当我在部分中调用 @Scripts.Render 时,它会将它们包含在部分所在的任何位置。将脚本放在页面末尾并没有什么神奇的作用。
请看 Erik Porter 的评论: http://aspnet.uservoice.com/forums/41199-general-asp-net/suggestions/2351628-support-section-render-in-partialviews
我在其他一些地方看到有人说 MVC 4 解决了这个问题,但没有关于如何解决的例子。
如何在其他脚本之后在正文末尾包含部分所需的脚本,使用 MVC4 优化来解决问题?
【问题讨论】:
-
脚本不属于局部视图。为您的脚本使用父视图。
-
@MatijaGrcic 即使您将脚本外部化,您仍然面临同样的挑战。我不想用一堆用于部分的引导代码使父视图混乱,然后对您重用该部分的每个“父”重复此操作。