在将逻辑应用到我的实际项目之前,我试图从一个空白的MVC项目(没有身份验证)中创建一些代码块,但我似乎无法做到这一点。我试图在局部视图中有一个表,以便在每个特定的时间段内重新加载/刷新/更新自己,这样它就会反映出在其他网页/浏览器中发生的任何更改。
每隔几秒就会激活一个函数的代码片段,但渲染/刷新是它变得模糊的地方。我一直在关注这个例子而没有运气(Refresh Partial View Div in MVC 5)。
这是我的代码: 视图(Index.cshtml)
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<div id="peopletablediv">
@{ Html.RenderAction("Person");}
</div>
部分视图(Person.cshtml) @model IEnumerable
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>
控制器(PeopleController.cs)
public class PeopleController : Controller
{
private WebApplication1Context db = new WebApplication1Context();
// GET: People
public ActionResult Index()
{
return View();
}
public ActionResult Person()
{
return PartialView(db.People.ToList());
}
}
JavaScript(仅在我测试时才在index.cshtml中)
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$(document).ready(function () {
var url = '@Url.Action("Person")';
var div = $("#peopletablediv");
setInterval(function () {
div.load(url);
}, 2000);
});
</script>
我在asp.net MVC和Web开发方面只有几个月的经验。我会在哪个部分出错?