javascript - 从 Document.ready 中的包执行 javascript

标签 javascript asp.net-mvc asp.net-mvc-4 asp.net-optimization

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

相关文章:

javascript - 无法在 Vue Web 应用程序中播放音频文件

javascript - 根据他们的物理位置计算可能的旅程匹配

asp.net - HttpContext.User.Identity 为空

asp.net-mvc - 允许用户在 ASP.NET MVC 中输入 HTML - ValidateInput 或 AllowHtml

c# - 路由到 WebApi 删除本地化

asp.net-mvc-4 - asp.net mvc Type.GetMethod 当两个操作同名,但 get 和 post 时

c# - 无法将 Microsoft Tag WebService 引用添加到 MVC 4 项目

javascript - 是否可以在没有服务器往返的情况下更新地址栏?

javascript - 为什么 vue <template> 对 v-bind 无效 :src?

javascript - 重新解析从部分 View 创建的表单后,jQuery 提交事件未触发