0

我使用 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

更新1

<script type="text/javascript" lang="javascript">

    $(document).ready(function () {
        alert("test");
    });
</script>
4

1 回答 1

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>
于 2012-08-21T19:38:00.080 回答