当我使用此jquery加载部分视图时:
$.get('@Url.Action( "List" , "Menu" )', function(data) {
$('#treeviewdiv div').replaceWith(data);
});
所有网站都在我的网站内再次加载。我指的是另一个头标,另一个身体标签。
我使用它并且它也不起作用:
$.get('@Url.Action( "List" , "Menu" ) #container', function(data) {
$('#treeviewdiv div').replaceWith(data);
});
...而容器是我的局部视图中的div标签。
我该如何解决?
答案 0 :(得分:2)
这通常表示操作返回完整视图而不是部分视图。好消息是,这可以通过几种不同的选择来解决。
1使操作返回局部视图:
public PartialViewResult Menu(){
return PartialView();
}
2如果这是一个可以通过ajax或标准方法调用的动作,基于ajax请求切换可能会有所帮助:
public ActionResult Menu(){
return Request.IsAjaxRequest() ? PartialView() : View();
}
3另一种选择是让视图为您处理(您可以在特定视图或ViewStart.cshtml
文件中执行此操作):
@{
Layout = !IsAjax ? "~/Views/Shared/_Layout.cshtml" : null;
}