2014-01-21 2 views
1

ASP NET MVC4를 사용 중입니다. 부분보기를 사용하여 기본보기를 업데이트하고 싶습니다. 서버에서 특정 서버에서 다른 이벤트를 가져 오면 부분 뷰를 업데이트하고 클라이언트에 게시하려고합니다. 어떻게해야합니까? 즉, 클라이언트에서 포스트 백 요청을받지 않고 서버 측에서 부분 뷰 렌더링을 강제로 수행하는 방법이 필요합니다. 그럴 수 있습니까, 아니면 클라이언트가 먼저 통보를받은 후 부분 뷰 렌더링을 시작하기 위해 자신의 다시 게시 작업을 수행해야합니까?ASP NET MVC 부분 뷰 렌더링없이 컨트롤러에 대한 다시 게시 요청 폼보기?

답변

1

호출 follwing을 아약스의 다른 모든 서버 이벤트에 전화 또는라는 작업에서 주기적으로

$.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); 

} 
+0

올바르게 이해하면 $ .get ('@ Url.Action ...'은 클라이언트가 서버 렌더링을 트리거하도록 호출됩니다. 즉, 클라이언트는 언제 호출해야 하는지를 알고 있어야하지만 서버 만이 부분보기가 필요합니다 (보기 업데이트 표시의 필요성을 나타내는 다른 서버의 이벤트를 받기 때문에) 주기적으로 또는 다른 모든 서버 이벤트를 호출하면보기가 자주 다시로드됩니다. – user3155141

+0

늦게 답변 드려 죄송합니다. 예, 이해하신 내용이 맞습니다. 예.보기를 불필요하게 새로 고칩니다. –

0

이 대규모 실시간 작업 참조 SignalR을위한 더 나은 일이다 :

[http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server][1]

아니면 단지 하나의 매체에 머물 필요가 있다면, 당신은 노드에 볼 수 있습니다. js는 서버 사이드 자바 스크립트이며 js 함수를 서버 구동 이벤트 (예 : 클라이언트 독립적)에 바인드 할 수 있습니다.

마지막으로 한 가지 생각은 이벤트를 사용하여 Web API 응답을 차감하는 것이지만, JSON 지혜의 가중치 hout 페이지 요청.