0

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

脚本文件夹中的 CustomJquery.js

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

索引.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

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

请帮忙

4

4 回答 4

5

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

.

于 2013-04-04T09:55:10.743 回答
1

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

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

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

更新

我也建议使用

console.log("click fired!"); 

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

于 2013-04-04T10:47:07.643 回答
1

在通过查看源代码或使用 IE 开发工具、Firebug 或 Chrome 开发工具确认您的文件被拾取后,您是否还可以检查您是否拥有“就绪处理程序”,如下所示:

$(function() {
     // Handler for .ready() called.
    });

在您的 CustomJquery.js 文件中,您还需要确保引用了 jquery。

使用 Firefox,以及一个名为 firebug 的工具 在此处输入图像描述

切换到脚本在此处输入图像描述并单击编辑,您应该在那里看到您的脚本,在左侧添加一个断点,如果您在控制台中看到错误,则查看它是否被命中。

于 2013-04-04T11:17:11.803 回答
0

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

由于您要包含的脚本位于 Scripts 文件夹中,因此您的捆绑包名称需要为“~/Scripts/ WHATEVERYOUWANTHERE

于 2013-04-04T13:37:12.717 回答