我不确定这是否可行,但我想使用jQuery将绑定模型中的值分配给PartialView中的不同文本框。
最初在页面加载时,它会正确填充所有模型信息。但是,我想实现一个DDL来查看历史更新(从我预先填充的数据库中检索)。
我可以在我各自的控制器中调用一个Action方法,该方法接受revisionID
。我已经验证该方法正在返回正确的数据。
请参阅下面的我的代码段:
部分视图
$('#revisionDDL').change(function () {
var selectedRevisionID = $(this).val();
if (selectedRevisionID == '') {
selectedRevisionID = @Model.RevisionID - 1;
}
var url = '@Url.Action("GetAgreementByRevision")';
$.get(url, { revisionID: selectedRevisionID }, function () {
$('#ChangeReason').val('@Model.ChangeReason');
})
});
输入元素:
<div class="input-group">
<span class="input-group-addon" id="change-reason">Change Reason</span>
@Html.TextAreaFor(m => m.ChangeReason, new { @class = "form-control", @rows = "1" })
</div>
控制器方法:
public ActionResult GetAgreementByRevision(int revisionID)
{
Agreement revisedAgreement = new Agreement();
revisedAgreement = _agreementService.GetAgreementDetailsByRevision(revisionID);
return PartialView("AgreementDetailsFormPartial", revisedAgreement);
}
如果我无法做到这一点,那么我的其他选择是什么?
答案 0 :(得分:2)
控制器中的方法返回importdata()
,它返回HTML内容,并且您尝试将该HTML内容作为文本区域中的值传递 - 这不是它应该如何工作的。您应该返回PartialView
,然后在JavaScript中访问此对象。
Json(revisedAgreement, JsonRequestBehavior.AllowGet);