MVC4 - 不执行脚本js

时间:2014-06-22 10:42:35

标签: c# asp.net-mvc asp.net-mvc-4

我正在尝试为我的应用程序加载脚本。不行,所以我查了一个简单的alert ('test11');。它也不起作用,脚本根本没有加载? 它使用Visual Studio 2013生成的MVC4的标准 _Layout

查看 Details.cshtml

@model xzy.Models.Album

@{
    ViewBag.Title = "Details";
}

<h2>Details</h2>

@using (Html.BeginForm("Details", "Store", FormMethod.Post,
    new
    {
        id = "someID",
        data_oneAction = @Url.Action("one"),
        data_twoAction = @Url.Action("two")
    }))
{
    <fieldset

        <label for="Formats">Select format</label>

        @Html.DropDownList("Formats", ViewBag.Formats as SelectList,
  new { id = "FormatsID", @class = "xxx" })


    <input type="submit" value="Submit" id="SubmitID" } />

    </fieldset>
}

<script src="@Url.Content("~/Scripts/first_file.js")"></script>
<script src="@Url.Content("~/Scripts/second_file.js")"></script>

脚本 first_file.js

$(function () {

    $('#FormatsID').change(function () {
        alert('Test11');
    });
});

更新

Yaakov Ellis,它有效。但是当我有一个带有更新的脚本时,它就不起作用了。

$(function () {

    $('#FormatsID').change(function () {
        alert('Test11');
        var URL = $('#someID').data('oneAction');
        $.getJSON(URL + '/' + $('#FormatsID').val(), function (data) {
            alert('Test22');
        });
    });
});

1 个答案:

答案 0 :(得分:2)

first_file.js的内容取决于jQuery的存在。我怀疑如果你检查你的控制台日志,你会在这个文件的第一行看到错误。

事实证明,当您在此文件之前添加jQuery引用时(正如您编写in your comment),它可以正常工作。

因此,如果您想按原样使用此脚本,请务必先包含jQuery。

如果您只想更好地测试first_file.js文件,请从中删除所有jQuery内容。它的唯一内容应该是一行alert('Test11');