MVC 视图中的自动刷新标签

Auto refresh label in MVC View

本文关键字:刷新 标签 视图 MVC      更新时间:2023-09-26

我的控制器中有一个自动刷新方法(如下所示)。其中我将更新 ViewBag 中的数据,我在视图标签中使用这些数据。但我无法自动刷新我的标签。请帮助我。

var waitHandle = new AutoResetEvent(false);
ThreadPool.RegisterWaitForSingleObject(waitHandle,(state, timeout) => 
{
    // my viewbag
    viewbag.time = DateTime.Now.TimeOfDay;
    viewbag=date
}, null, TimeSpan.FromSeconds(5), false);

MVC不像WebForms那样工作(其中重新分配值填充到UI)。您需要编写一个单独的操作(或 WebAPI 方法)并使用 AJAX/JavaScript 来拉取更新。(或者,您可以使用 SignalR,但这可能有点矫枉过正)。

此外,如果这是一个重复发生的事件,您可能需要查看库(如 Quartz.NET)来执行该操作。然后,将更新发布到共享资源(看起来您正在存储上次执行的时间戳)。从那里,在客户端上使用 setInterval/AJAX 来检索和显示该值。