我想只在数据库更新时重新加载整个页面。所以我试图每5秒钟获取一次数据库中的记录数。但是,当我在数据库中添加或删除记录时,只有刷新整个页面时,显示的记录数才会更改。 是否有可能在不刷新整个页面的情况下获得新价值?
Index.cshtml:
function refresh() {
//location.reload();
var jsObject = @Html.Raw(Json.Encode(Model.DataList));
var numbOfRecords = jsObject.length;
alert(numbOfRecords);
setTimeout(refresh, 5000);
}
refresh();
简化的HomeController:
public ActionResult Index()
{
using (var db = new ElementsContext())
{
var query =
from data in db.Data
select new
{
someData = data.DataElem
};
var allData = new List<Data>();
foreach (var item in query)
{
allData.Add(new Data()
{
DataElem = item.someData
});
}
var viewModel = new DataViewModel
{
DataList = allData
};
return View(viewModel);
}