我使用MVC4默认模板。
我在 /Scripts/MyApp/
中添加一个脚本:MyScript.js
,其函数为:
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
的链接就在那里,我可以导航到它(转到源代码)
但是$(document).ready
中的Testing()
方法没有被执行。
更新1
<script type="text/javascript" lang="javascript">
$(document).ready(function () {
alert("test");
});
</script>
最佳答案
尝试在 bundle 包含之后放置内联脚本。此外,script
标记上的 lang
属性已被弃用:
@Scripts.Render("~/bundles/myapp")
<script type="text/javascript">
$(document).ready(function () {
Testing();
});
</script>
<小时/>
更新:
好吧,我想你忘了包含 jquery,所以 $
函数没有定义:-)
所以如果你想用 bundle 来做到这一点:
bundles.Add(new ScriptBundle("~/bundles/myapp").Include(
"~/Scripts/jquery-{version}.js", "~/Scripts/MyApp/MyScript.js")
);
或者如果您不想使用 bundle :
<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>
关于javascript - 从 Document.ready 中的包执行 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061811/