ASP NET MVC局部视图渲染没有回发请求表单视图到控制器?

时间:2014-01-21 18:09:50

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-partialview

我正在使用ASP NET MVC4,我想使用局部视图来更新我的主视图。在服务器上,我从另一台服务器获取某些事件,当发生这种情况时,我想更新局部视图并将其发布到客户端。我怎样才能做到这一点?换句话说,我想要一种强制在服务器端渲染局部视图的方法,而不需要来自客户端的回发请求。这是可能的,还是必须首先通知客户端,然后执行自己的回发操作来触发局部视图渲染?

2 个答案:

答案 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产生很大影响。