所以我想要的很简单: 我想通过ajax显示部分View中的数据。在我的部分视图中,我使用模型,用数据填充表格。
我的Ajax
var serviceURL = '/Vm/GetVMInformation';
$.ajax({
url: serviceURL,
contentType: 'application/html; charset=utf-8',
type: 'GET',
dataType: 'html',
success: function (result) {
alert("Success");
$("#testDiv8").html(result);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
我的控制器操作
public ActionResult GetVMInformation()
{
... Code that fills my VmList with data ...
return View("~/Views/Shared/_List.cshtml", VmList);
}
我的部分视图
@model IsolutionsAzureManager.Models.VmData
<table class='table' id='vmTable' border='1'>
<tr>
<th>VM Name</th>
<th>Status</th>
<th>Shutdown Time</th>
<th>Service Name</th>
<th>Created Date</th>
<th>Last Modified</th>
<th>Port</th>
</tr>
@for (int i = 0; i < @ViewData["SizeOfList"]; i++)
{
<tr class="tableColumn vmColumn">
<td class="vmName">@Model.Name[i]</td>
<td class="vmStatus">@Model.Status[i]</td>
<td class="vmShutDown">@Model.Name[i]</td>
<td class="vmServiceName">@Model.Name[i]</td>
<td class="vmCreatedDate">@Model.Name[i]</td>
<td class="vmLastModified">@Model.Name[i]</td>
<td class="vmPort">@Model.Name[i]</td>
</tr>
}
</table>
所以这一切似乎都很清楚。我的问题是:Ajax只期望html
作为返回值。所以我得到了一个内部服务器&#34;错误。
我已经看到它很容易与ViewBag一起使用。但我认为这不是解决这个问题的最佳方法。
那么如何将我的模型中的数据添加到我的PartialView中,然后在我的主视图中显示它(我的Ajax所在的位置)
谢谢