【发布时间】:2015-05-16 14:01:06
【问题描述】:
我通过 Ajax 调用我的 MVC 控制器操作,并希望该操作返回两个局部视图。两个部分视图都应以 html 格式返回。
这就是我通过 ajax 调用的方式
$.ajax({
url: '/SomeController/GetContent',
type: 'GET',
dataType: "html",
success: function (d, status, xhr) {
$('#partial1') = d.?
$('#partial2') = d.?
},
error: function (req, status, errorObj) {
alert('error');
}
});
我为控制器操作尝试了类似的操作:
public PartialViewResult[] GetContent()
{
PartialViewResult[] pvs = new PartialViewResult[2];
pvs[0] = PartialView("Partial1", null);
pvs[1] = PartialView("Partial2", null);
return pvs;
}
如果我只返回一个部分视图(不作为数组返回),它就可以工作,但是对于两个我只是在 ajax 成功中返回一个空数组。任何想法如何解决这个问题?
【问题讨论】:
-
返回包含 2 个局部视图的单个视图。
-
谢谢。你能说明这是怎么做到的吗?
-
如果您发送
pvs,因为 json 数组可以遍历数组并插入到适当的元素中。相应调整dataType -
@charlietfl:我认为这行不通,因为如果我将它作为 json 返回,我将完全丢失 html。
-
json中的html示例jsfiddle.net/5ndq8qzv
标签: jquery ajax asp.net-mvc