require.js无法使用MVC

时间:2013-07-06 01:22:44

标签: jquery asp.net-mvc requirejs

我在一个ASP.NET站点上使用require.js,一切正常。现在我正试图在MVC网站上做这件事我似乎无法让它运作起来。我的_layout.cshtml文件如下:

<!DOCTYPE html>

    

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>

    @Styles.Render("~/Content/css")
    @Styles.Render("~/Content/themes/base/css")
    @Styles.Render("~/Content/bootstrap")
    @Styles.Render("~/Content/toastr")
    @Styles.Render("~/Content/fontawesome")
    @Styles.Render("~/Content/percentage")
    @Scripts.Render("~/bundles/modernizr")

</head>

<body style="background-image: url('/Content/images/background.png')">

...abbreviated...

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/bootstrap")
    @Scripts.Render("~/bundles/jqueryui")
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/toastr")
    @Scripts.Render("~/bundles/knockout")
    @Scripts.Render("~/bundles/require")
    @Scripts.Render("~/bundles/percentage")
    @Scripts.Render("~/bundles/placeholder")

    @RenderBody()

    @RenderSection("scripts", required: false)

</body>

然后我有一个index.cshtml文件:

    @{
    ViewBag.Title = "Hobby Matrix -- Home";
}

@section scripts{
    <script src="/Scripts/require.js" data-main="/Scripts/helpers/home"></script>
}

和我的home.js文件是这样的:

    define([], function () {

    $(document).ready(function () {
        alert('here');
    });

})

但出于某种原因,当我转到该视图(index.cshtml)时,我的警报永远不会被调用。很明显,我认为我做错了与MVC如何处理这些文件有关,但我无法弄清楚是什么。当我查看源代码时,我期望的所有代码行都已呈现,并且我没有得到任何错误。我很感激任何想法或建议。

谢谢,

安德鲁

2 个答案:

答案 0 :(得分:0)

看看RequireJS for ASP.NET MVC模板项目,集成是解释here,你可以在GitHub上分叉项目。

答案 1 :(得分:0)

实际上,问题与require.js无关 - 这工作得很好。问题是我在ajax调用中缺少一个“/”,所以它没有找到我的ajax调用试图达到的“控制器/动作”。它正在一个页面上工作,它在同一个路径中,但在第二个页面上没有,它无法解决我指向的位置。对不起,如果我浪费了任何人的时间。

安德鲁