我很困惑如何从我的客户端刷新控制器。我从我的客户端发出一个电话,在控制器中点击一个ActionMethod,它将在7秒后刷新我的页面。调用将转到Controller,创建日志但不会发生刷新。
Ajax调用命中控制器的ActionMehtod并刷新整个Controller / DOM。
<script>
$.get("@Url.Action("Refresh","Driver")",function(data){
$("#View1").html(data);
});
alert("Refresher ActionResult Exit");
</script>
刷新ActionResult方法只需在7秒后调用Refresh,没有附加View:
public ActionResult Refresh()
{
logger.AddLog("PAGE Refresh Set to 7 sec");
Response.AddHeader("Refresh", "7");
logger.AddLog("Returning From Refresher Function");
return View();
}
答案 0 :(得分:1)
我认为你混淆了两种不同的刷新方法。
如果您想每7秒更新页面的一部分(#View1),最好的方法是在_Layout.cshtml
中使用setInterval()
的javascript。在那种情况下,不需要刷新标头。
如果您想每7秒更新整个页面,请使用视图中的Response.AddHeader()或<meta http-equiv="refresh" content="7">
中的_Layout.cshtml
,然后无需使用javascript。