【问题标题】:Scripts in _layout (MVC)_layout (MVC) 中的脚本
【发布时间】:2014-05-30 08:54:30
【问题描述】:

当我只有一个视图时,所有脚本都运行良好。当我尝试将其拆分为布局和部分视图时 - 脚本不再起作用。请回答问题:

1) 链接应该放在哪里?在视图中还是在 _layout 中?如果在布局中,我应该使用

@Scripts.Render()

或者只是

<script src="~/Scripts/jquery-1.7.1.js"></script>

2) 脚本应该放在哪里?在视图中还是在 _layout 中?在头部还是在身体内部?

或者我可以这样做:在视图中放置脚本

@section Scripts{ } 

然后在布局中使用

@RenderSection("Scripts", false)

??

对不起,愚蠢的问题:)

【问题讨论】:

  • 我认为我做的一切都是正确的......但脚本仍然无法正常工作:(但在我将其拆分为视图和布局之前一切正常。

标签: jquery asp.net-mvc layout


【解决方案1】:

您可以在 _layout.cshtml 中执行以下操作

@Scripts.Render("~/bundles/bundlename")

其中bundlename 是调用RegisterBundles 时的bundle 名称。或者,您可以执行以下操作:

@RenderSection("脚本",必填:false)

此外,为了提高性能,请将您的 js 包放在页面底部。

【讨论】:

【解决方案2】:

我认为这取决于脚本的使用方式。 JQuery,我放在布局页面上,因为我可能会在所有页面上使用它。如果一个函数特定于一个视图或部分,那么我可能会为该视图或部分创建一个单独的脚本文件。

我也更喜欢使用@Scripts.Render,因为它会为我做缩小,只要确保你没有引用 .min 文件,因为它会忽略它们。这样您就可以在调试时拥有可以读取的 javascript 文件,并让系统在您的生产环境中为您缩小它们。

【讨论】:

    猜你喜欢
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2015-03-18
    • 1970-01-01
    相关资源
    最近更新 更多