Jquery ASP.NET MVC 5中的Ajax(局部视图)不起作用-始终仅打开局部视图

Jquery ASP.NET MVC 5中的Ajax(局部视图)不起作用-始终仅打开局部视图,jquery,ajax,asp.net-mvc,asp.net-mvc-5,Jquery,Ajax,Asp.net Mvc,Asp.net Mvc 5,我有一个问题,点击它应该刷新页面的一部分,部分视图,打开新页面,只有选择,这是应该显示在索引页面内的部分。我试着用这个教程来做这件事,但我不知道出了什么问题——而且我在这个论坛上也没有找到任何关于它的东西 共享布局中的资源: @Scripts.Render("~/bundles/jquery") 内部地图/索引: @Ajax.ActionLink("All", "GetTracks", new AjaxOptions {

我有一个问题,点击它应该刷新页面的一部分,部分视图,打开新页面,只有选择,这是应该显示在索引页面内的部分。我试着用这个教程来做这件事,但我不知道出了什么问题——而且我在这个论坛上也没有找到任何关于它的东西

共享布局中的资源:

@Scripts.Render("~/bundles/jquery")
内部地图/索引:

@Ajax.ActionLink("All", "GetTracks",
                new AjaxOptions
                {
                    HttpMethod = "GET", // HttpMethod to use, GET or POST
                    UpdateTargetId = "mytestdiv", // ID of the HTML element to update
                    InsertionMode = InsertionMode.Replace // Replace the existing contents
                })

<div id="mytestdiv">
</div>
Map controller和我知道这是一个糟糕的解决方案,仅使用Viewbag-这只是暂时的:

public PartialViewResult GetTracks()
{
    List<int> trackIDs = new List<int>();

    var queryTrack = from dTrack in db.track
                        where dTrack.device_id == 1
                        select dTrack.id;

    foreach (int trackId in queryTrack)
    {
        trackIDs.Add(trackId);
    }

    ViewBag.trackIDs = trackIDs;
    return PartialView("SelectTrackView");
}
以及我想用Ajax重新加载的内容,位于~/Views/Map/SelectTrackView.cshtml中:

<select id="SelectTrack" name="idTrack" class="form-control" style="margin:20px" onchange="selectTrack()">

    @foreach (int number in ViewBag.trackIDs)
    {
        if (ViewBag.selectedidTrack == @number)
        {
            <option value="@number" selected="selected">@number</option>
        }
        else
        {
            <option value="@number">@number</option>
        }
    }
</select>

谢谢您的帮助。

您的页面中是否有jquery.unobtrusive-ajax.js的参考

如果没有,这些助手生成的data-*标记将不会被解释,链接将被视为正常链接

编辑:

我想你需要这个包裹

如果您不想使用此软件包,只需

<script>
(function($){
    $(document).on("click","a[data-ajax='true']", function(e){
        e.preventDefault();
        $("#"+ $(this).attr("data-ajax-update")).load(this.href);
    });
})(jQuery);
</script>

您的浏览器javascript控制台中是否有错误?最终的源代码也是这样:当我添加时,它给出了错误:uncaughttypeerror:无法设置未定义的属性“unobtrusive”。我真的不确定-但是@Scripts.Render~/bundles/jquery没有添加非结构化的?因为在我的项目脚本中,我添加了这个包。但是,是的,它可能不像我想象的那样工作。谢谢,我从乞丐那里得到了糟糕的图书馆:-/真是愚蠢的错误。。。当我下载MicrosoftJQuery低调的Ajax库时,它开始正常工作。对于~/Scripts/jquery.validate.unobtrusive.min.js,它根本不起作用:。非常感谢你