【发布时间】:2014-05-15 21:59:00
【问题描述】:
在 MVC 5 页面中,我在表单中嵌入了部分视图。在页面中,局部视图的 HTML 定义如下所示:
<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贴在你使用局部视图的地方吗?
标签: jquery asp.net-mvc