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, и тогда он работал нормально.