如何在更新信息模型时刷新ASP.Net MVC页面

时间:2017-11-29 10:52:58

标签: javascript asp.net asp.net-mvc asp.net-core-mvc asp.net-core-2.0

我在ASP.Net Core 2.0 MVC中工作。我需要我的网页始终显示模型的最新信息。但信息模型不断更新。

有没有办法只在模型更改时刷新页面? (可能使用OnChange事件或AutoResetEvent)

或者使用计时器是自动刷新页面的唯一方法吗?就像他们在这里一样:How do I refresh the page in ASP.NET? (Let it reload itself by code)

2 个答案:

答案 0 :(得分:4)

您需要了解HTTP中的请求 - 响应和客户端 - 服务器的概念。客户端首先向服务器发送请求。服务器然后将适当的响应发送回客户端。此时,通常,通信完成。服务器继续执行其他任务,客户端呈现从服务器收到的响应,并等待进一步的用户交互。服务器不具备甚至不关心更新客户端的能力。因此,要获取新信息,客户端必须向服务器发出进一步请求。这可以通过使用JavaScript或元刷新标记进行实际页面刷新来完成,或者您可以发出AJAX请求,而不会导致整个页面重新加载。

现在,使用HTML5,它的Web套接字(与后端的SignalR结合使用)可以让服务器实际将新信息推送到客户端。但是,你必须自己实现它。

答案 1 :(得分:1)

location.reload()

将使用JavaScript刷新HTML页面

但我不认为这就是你所需要的。

页面模型是在服务器上还是在客户端上更改?

如果客户端发生变化,则需要AJAX将其异步发送到服务器。

如果它在服务器上发生变化,您应该将Web套接字视为向客户端传达已经进行的更改的一种方式。