ASP.NET MVC5 Ajax部分视图加载完整页面
我使用ajax助手异步加载数据,我使用MVC5、EF6并从控制器返回PartialView,但部分视图是在整个页面上加载的,而不是异步更新DIV。以下是我的代码:ASP.NET MVC5 Ajax部分视图加载完整页面,ajax,asp.net-mvc-5,asp.net-mvc-ajax,Ajax,Asp.net Mvc 5,Asp.net Mvc Ajax,我使用ajax助手异步加载数据,我使用MVC5、EF6并从控制器返回PartialView,但部分视图是在整个页面上加载的,而不是异步更新DIV。以下是我的代码: SampleDBContext db = new SampleDBContext(); public ActionResult Index() { return View(); } // Return all students public PartialViewResult All() { List<Stud
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);
}
SampleDBContext db=new SampleDBContext();
公共行动结果索引()
{
返回视图();
}
//归还所有学生
公共部分结果全部()
{
List model=db.Students.ToList();
返回部分视图(“学生”,模型);
}
我的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>
指数
学生
@ActionLink(“全部”、“全部”,
新选择
{
HttpMethod=“GET”,//要使用、获取或发布的HttpMethod
UpdateTargetId=“divStudents”,//要更新的HTML元素的ID
InsertionMode=InsertionMode.Replace//替换现有内容
})
_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>
@model IEnumerable
@DisplayNameFor(model=>model.Name)
@DisplayNameFor(model=>model.TotalMarks)
@foreach(模型中的var项目)
{
@DisplayFor(modelItem=>item.Name)
@DisplayFor(modelItem=>item.TotalMarks)
}
我在web配置中添加了如下键
问题是我在布局页面和查看页面上引用了jquery.unobtrusive-ajax.js两次。我从视图中删除了脚本引用,然后工作正常。脚本是否正在加载到您的页面上?谢谢@Shoe我解决了它,这是关于脚本文件的一些问题。