我正在使用ASP NET MVC4,我想使用局部视图来更新我的主视图。在服务器上,我从另一台服务器获取某些事件,当发生这种情况时,我想更新局部视图并将其发布到客户端。我怎样才能做到这一点?换句话说,我想要一种强制在服务器端渲染局部视图的方法,而不需要来自客户端的回发请求。这是可能的,还是必须首先通知客户端,然后执行自己的回发操作来触发局部视图渲染?
答案 0 :(得分:1)
在每个其他服务器事件上调用以下Ajax调用或定期调用
$.get('@Url.Action("ActionName", "ControllerName")', function (data) {
$('#Id of div where Partial View is renderred').html(data);
});
在名为。
的行动中public ActionResult ActionName()
{
//load your model with changes
return PartialView("Name of your partial view", model);
}
答案 1 :(得分:0)
对于大规模实时工作参考SignalR来说,这是一个更好的工作:
[http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server][1]
或者如果你只需要保持单一媒体,你可以查看node.js,它是服务器端的javascript,并允许将js函数绑定到服务器驱动的事件(即客户端独立)
最后一个想法是使用事件并启动Web Api响应,但这会在没有页面请求的情况下对JSON产生很大影响。