2012-03-17 102 views
1

在我的主屏幕上,我有兩個部分視圖。在第一部分視圖中,我有ActionLink和圖像。如何在點擊第一個partialView上的ActionLink後僅刷新第二個partialView。我不刷新第一個partialView,因爲我不做任何更改。 -謝謝!MVC 3如何從多個視圖中只刷新一個部分視圖

回答

0

使用jQuery負載來重新加載所述第二部分視圖

$(function(){ 

$("#aLinkInFirstView").click(function(){ 

    $("#PartialViewDiv2").load(@Url.Action("action_for_second_view", "your_controller")); 

    return false; 
}); 


}); 

假設aLinkInFirstView是在第一PartialView和PartialViewDiv2錨標籤的ID保存用於所述第二部分的標記在div視圖。

http://api.jquery.com/load/

3

因爲你還沒有共享任何代碼,你可以嘗試包裝你的第二個部分的包裝內DIV例如

<div id="secondpartial"> 
    @RenderPartial("partialName") 
</div> 

讓我們假設裏面的第一部分的鏈路是否具有id="firstPartialLink"

<a href="#" id="firstPartialLink">Refresh Second Partial</a> 

附加一個click事件處理函數,

$(function(){ 
    $("#firstPartialLink").click(function(e){ 
     e.preventDefault(); 
     $.ajax({ 
     url:'@Url.Action("SecondPartialActionResult","Controller")', 
     type:'GET' 
     dataType:'html', 
     success:function(data){ 
     $("#secondpartial").html(data); 
     }, 
     error:function(jXhr){ 
     if(typeof console !='undefined') 
      console.log(jXhr.responseText); 
     } 
    }); 
    }); 
}); 

的ActionResult的會是什麼樣

public ActionResult SecondPartialActionResult(){ 

return PartialView("viewname") 
} 
+0

其實控制oller行動將不得不返回一個'PartialView(「viewname」)' – 2012-03-18 01:40:29

+0

@XavierPoinas非常正確,但我認爲返回視圖也會做這項工作,雖然我已經編輯了答案 – Rafay 2012-03-18 07:36:22

相關問題