在我的主屏幕上,我有两个局部视图。在第一个局部视图中,我有ActionLink和图像。单击第一个partialView上的ActionLink后,如何仅刷新第二个partialView。我没有刷新第一个partialView,因为我没有对其进行任何更改。 -谢谢!
答案 0 :(得分: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")
}
答案 1 :(得分:0)
使用jQuery load重新加载第二个局部视图
$(function(){
$("#aLinkInFirstView").click(function(){
$("#PartialViewDiv2").load(@Url.Action("action_for_second_view", "your_controller"));
return false;
});
});
假设 aLinkInFirstView 是第一个PartialView中锚标记的id, PartialViewDiv2 是保存第二个部分视图标记的div。