在MVC 5页面中,我在表单中嵌入了部分视图。在该页面中,局部视图的HTML定义如下所示:无法更新MVC 5局部视图
<div id="partialview" class="col-md-4">
@Html.Partial("_Sightings", @Model.FieldTripSightingList)
</div>
有我的窗体上的一个按钮,当点击时,对于通过Ajax调用这个局部视图加载数据,如下所示:
$('#retrieveSightingsButton').click(function() {
var url = "/FieldTrip/GetSightings";
tripName = $("#FieldTripName").val();
userRowId = $("#UserList").val();
$.get(url, { tripName: tripName, userRowId: userRowId }, function (data) {
$("#partialView").html(data);
});
});
C#的控制器方法看起来像这样:
[Authorize]
public ActionResult GetSightings(string tripName, int userRowId)
{
var sightingList = this.FieldTripData.GetList(userRowId, tripName).ToList();
return PartialView("_Sightings", sightingList);
}
最后,我的局部视图看起来像这样:
@model IEnumerable<WebBirder.Entities.FieldTripSighting>
<table id="listingTable" class="table table-bordered table-responsive table-hover table-condensed sortable">
<thead>
<tr>
<th data-defaultsort="asc">Common Name</th>
<th>Sighting Time</th>
</tr>
</thead>
<tbody class="searchable">
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.CommonName)
</td>
<td>
@item.SightingDate.ToShortDateString()
</td>
</tr>
}
</tbody>
</table>
所有这些都按我的预期工作。问题在于局部视图中的表格从不在页面上更新。当我遍历调试器中的所有内容时,我可以看到部分视图执行的Razor代码以及放置在表中的所有值,但表格数据从不刷新页面。我不确定问题是什么。
你可以发布您的主视图的HTML你的局部视图使用? – mambrow