我使用MVC4默认模板。
我在MyScript.js
中添加了一个脚本/Scripts/MyApp/
,其中包含一个函数:
function Testing()
{
alert('test');
}
在global.asax中:
bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
"~/Scripts/MyApp/MyScript.js"));
我想在/Views/Home/Index.cshml
我尝试了以下代码,但没有成功:
<script type="text/javascript" lang="javascript">
$(document).ready(function () {
Testing();
});
</script>
@Scripts.Render("~/bundles/myapp")
当我查看源代码时,MyScript.js
的链接就在那里,我可以导航到它(转到源代码)
但Testing()
中的$(document).ready
方法未执行。
UPDATE1
<script type="text/javascript" lang="javascript">
$(document).ready(function () {
alert("test");
});
</script>
答案 0 :(得分:2)
尝试在捆绑包后添加内联脚本。此外,lang
标记上的script
属性已弃用:
@Scripts.Render("~/bundles/myapp")
<script type="text/javascript">
$(document).ready(function () {
Testing();
});
</script>
更新:
好的,我认为您忘记包含jquery,因此未定义$
函数: - )
所以,如果你想用捆绑包来做:
bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
"~/Scripts/jquery-{version}.js", "~/Scripts/MyApp/MyScript.js")
);
或者如果您不想使用捆绑包:
<script type="text/javascript" src="~/scripts/jquery-1.7.1.js"></script>
<script type="text/javascript" src="~/scripts/MyScript.js"></script>
<script type="text/javascript">
$(document).ready(function () {
Testing();
});
</script>