如何更新View Model中的值而不刷新asp.net中的整个页面?

时间:2017-09-15 09:06:47

标签: javascript c# asp.net-mvc

我想只在数据库更新时重新加载整个页面。所以我试图每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);
        }

0 个答案:

没有答案