【发布时间】:2021-08-22 14:41:02
【问题描述】:
我有一个视图,它为模型中的每个“单元”加载多个局部视图。如果用户更改了“评估”下拉列表中的选择,我需要使用正确的单位重新渲染部分。当页面加载时,它会加载以下内容:
<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 方法,但它“替换”而不是“附加”每个部分。
非常感谢任何帮助。
【问题讨论】:
标签: jquery asp.net-mvc asp.net-ajax asp.net-mvc-partialview