无法在ASP.NET MVC4中捆绑自定义jquery脚本

时间:2013-04-04 09:42:32

标签: jquery asp.net-mvc asp.net-mvc-4 bundling-and-minification

我使用jquery创建了一些基本脚本,当放在我的一个MVC视图中的标记下面时,它工作正常。我想将这些脚本移动到Scripts文件夹中的单独文件中,因此我创建了一个名为“CustomJquery.js”的文件并将其放在Scripts文件夹中。我在'BundleConfig.cs'中为它创建了一个包,但是当我使用@ Scripts.Render(“〜/ bundles / CustomJquery”)从我的视图调用时,我的脚本不再起作用了。我甚至尝试将它们放在'_Layout.cshtml'中,但仍然没有运气。请参阅下面的代码。任何帮助将不胜感激。感谢

Scripts文件夹中的CustomJquery.js

$("#Button").click(function () {
alert("hello");
});

Index.cshtml

<input id="Button" type="submit" value="Test" />

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

BundleConfig.cs

 bundles.Add(new ScriptBundle("~/bundles/CustomJquery").Include(
                "~/Scripts/CustomJquery.js"));

更新

是的,我可以在Google Chrome工具的“来源”标签中看到我的'CustomJquery.js'。

我可以在标记中看到脚本src,按照'Elements'标签

<script src="/Scripts/CustomJquery.js"></script>
</section>
</div>

请帮忙

4 个答案:

答案 0 :(得分:5)

您是否在index.cshtml页面中包含了jquery库。即:<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

答案 1 :(得分:1)

首先要做的是使用网络开发者工具查看Chrome等网页。检查源并确保您在代码中看到脚本并检查网络选项卡,并确保没有收到任何404错误。您还应该能够单击以查看js的内容,以确保它符合您的期望。还要检查控制台中是否有任何脚本错误。

假设您已经在其他地方使用捆绑包,最可能的问题是拼写错误,路径错误或复制和粘贴时添加/丢失的流浪字符。

如果您可以按照上述步骤操作,如果它无法帮助您解决问题,请提供您所看到的更多详细信息,包括任何错误,以便我们进一步帮助您。

<强>更新

我也建议使用

console.log("click fired!"); 

而不是警报并检查消息是否出现在控制台日志中。使用警报可能会导致问题。

答案 2 :(得分:1)

通过查看来源或使用IE开发工具,Firebug或Chrome开发工具确认您的文件被接收后,您是否还可以检查您是否具有“就绪处理程序”,如:

$(function() {
     // Handler for .ready() called.
    });
在您的CustomJquery.js文件中,您还需要确保引用了jquery。

使用Firefox和一个名为firebug的工具 enter image description here

切换到脚本enter image description here并单击编辑,你应该在那里看到你的脚本,在左边添加一个breackpoint,如果你在控制台中看到错误,看它是否被击中。

答案 3 :(得分:0)

您的捆绑名称可能与我几天前遇到的问题相同。

由于您要包含的脚本位于Scripts文件夹中,因此您的包名称必须为“〜/ Scripts / WHATEVERYOUWANTHERE