ASP.NET MVC5 Ajax Partial View загрузка полной страницы

Я использую помощники ajax для асинхронной загрузки данных, я использую MVC5, EF6 и возвращаю PartialView из контроллера, но частичное представление загружается на полную страницу вместо того, чтобы обновлять DIV асинхронно. Ниже приведен мой код:

SampleDBContext db = new SampleDBContext();
public ActionResult Index()
{
    return View();
}

// Return all students
public PartialViewResult All()
{
    List<Student> model = db.Students.ToList();
    return PartialView("_Student", model);
}

мой код index.cshtml

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div style="font-family:Arial">

        <script src="~/Scripts/jquery-1.10.2.min.js"></script>
        <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
        <h2>Students</h2>

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

        <br /><br />
        <div id="divStudents">
        </div>
    </div>

</body>
</html>

Разметка _Student.cshtml Частичное представление:

@model IEnumerable<GS.MVC_Ajax_Venkat3.Models.Student>
<table class="table" style="border:1px solid black; background-color:greenyellow">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.TotalMarks)
        </th>
    </tr>

    @foreach (var item in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Name)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.TotalMarks)
            </td>
        </tr>
    }
</table>

Я добавил ключи в веб-конфигурацию также следующим образом

1 ответ

Проблема заключалась в том, что я дважды ссылался на jquery.unobtrusive-ajax.js, как на странице макета, так и на странице просмотра. Я удалил ссылку на скрипт из View, и тогда он работал нормально.

Другие вопросы по тегам