我有一个MVC应用程序,它有一个管理页面,我需要每隔10秒更新一次显示的数据(如果数据库中的数据发生了变化)。我正在使用ajax,但我正在重新加载闪烁。没有明显眨眼的最佳方法是什么?注意:我是ajax的新人。
这是我的观点:
@model IEnumerable<RangeTimer.Models.UserName>
<div class="container"></div>
<div class="jumbotron">
<div>
@Html.ActionLink("Add Name to list for range time", "AddUserName", new { target = "_blank" })
<br />
</div>
<hr />
<div id="Update">
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.FullName)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td id="FullName">
@Html.DisplayFor(modelItem => item.FullName)
</td>
@Html.HiddenFor((modelItem => item.Id))
<td>
@Html.ActionLink("Delete", "DeleteFromAdmin", new { id = item.Id })
</td>
</tr>
}
</table>
</div>
</div>
<script>
function refresh(){
$.ajax({
url: '@Url.Action("Admin", "UserNames")',
type: "post",
cache: false,
success: function(data){
$("#Update").html(data);
}
});
}
$(document).ready(function(){
refresh(); //Call auto_load() function when DOM is Ready
});
//Refresh after 10000 milliseconds
setInterval(refresh, 10000);
</script>
控制器:
public ActionResult Admin()
{
return View(db.UserNames.OrderBy(c => c.Id).ToList());
}