在我的控制器类中,我将一些数据返回给我的视图,这一切都很好。
我可以这样做吗?
public ActionResult List()
{
while (true)
{
Thread.Sleep(3000);
return View("ListStatus", data);
}
}
当然,上面的代码将无效,因为在运行return语句时函数存在。
我确信我可以在View中使用一些Ajax来每3秒从服务器中提取数据但是出于我目前的目的,我在上面的代码中尝试做的事情会更容易
答案 0 :(得分:5)
您似乎正在尝试从服务器端进行刷新。就像“推送”客户端的更新一样。这不是asp.net的工作原理。客户端发出请求,然后服务器发送响应。仅这一点就意味着你无法做到这一点。
就像jcm所说,您需要让客户端/浏览器对更新数据进行后续请求。
我建议使用js / ajax / jQuery选项。你可以谷歌并获得大量的例子。
答案 1 :(得分:2)
如果要刷新整个页面,请在标题中使用元标记<meta http-equiv="refresh"
。
如果要刷新页面的某些部分,请使用jquery解决方案
Auto-refreshing div with jQuery - setTimeout or another method?
http://dev.kafol.net/2008/10/jquery-update-divs-html-dynamically.html
http://docs.jquery.com/Ajax