我有一个视图,它为模型中的每个“单元”加载多个部分视图。如果用户更改了“评估”下拉列表中的选择,我需要使用正确的单位重新渲染部分。当页面加载时,它会加载以下内容:
<div class="kt-portlet__body" id="unitSection" >
@if (Model.Units != null)
{
foreach (var unit in Model.Units)
{
Html.RenderPartial("UnitGapRow", unit);
}
}
</div>
当用户更改下拉列表中的选择时,我正在进行 ajax 调用,如下所示:
$('#AssessmentId').change(function (e) {
var assessmentId = $(this).val();
getUnits(assessmentId);
});
function getUnits(assessmentId) {
$('#unitSection').html('');
$.ajax({
url: "@(Url.Action("GetRequirementUnits", "Config", new { area = "Competency" }))",
data: {
AssessmentId: assessmentId,
RequirementId: "@Model.RequirementId"
},
type: "POST",
success: function (data) {
for (var unit in data) {
$('#unitSection').append(@Html.RenderPartial("UnitGapRow",unit));
}
}
})
}
除了为每个单元渲染部分内容外,一切正常。我尝试使用load
方法,但它“替换”而不是“附加”每个部分。
非常感谢任何帮助。