C# 使用jQuery将模型属性指定给文本框
我不确定这是否可行,但我想使用jQuery将绑定模型中的值分配给PartialView中的不同文本框 最初,当页面加载时,它会正确地填充所有模型信息。但是,我想实现一个DDL来查看历史更新(从预填充的数据库中检索) 我能够在我各自的控制器中调用一个操作方法,该方法接受C# 使用jQuery将模型属性指定给文本框,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我不确定这是否可行,但我想使用jQuery将绑定模型中的值分配给PartialView中的不同文本框 最初,当页面加载时,它会正确地填充所有模型信息。但是,我想实现一个DDL来查看历史更新(从预填充的数据库中检索) 我能够在我各自的控制器中调用一个操作方法,该方法接受修改ID。我已验证该方法返回的数据是否正确 请参阅下面的代码片段: 局部视图: $('#revisionDDL').change(function () { var selectedRevisionID = $(this).
修改ID
。我已验证该方法返回的数据是否正确
请参阅下面的代码片段:
局部视图:
$('#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);
}
输入元素:
$('#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);
}
如果我不能做到这一点,我的其他选择是什么?控制器中的方法返回
PartialView
,它返回HTML内容,并且您试图将HTML内容作为值传递到文本区域-这不是它应该如何工作的。您应该返回Json(reviseAgreement,JsonRequestBehavior.AllowGet)然后在JavaScript中访问此对象
$.get(url, { revisionID: selectedRevisionID }, function (data) {
// 'data' is your Agreement object
$('#ChangeReason').val(data.SomePropertyHere);
});
控制器中的方法返回
PartialView
,该方法返回HTML内容,并且您试图将该HTML内容作为值传递到文本区域-这不是它应该如何工作的。您应该返回Json(reviseAgreement,JsonRequestBehavior.AllowGet)然后在JavaScript中访问此对象
$.get(url, { revisionID: selectedRevisionID }, function (data) {
// 'data' is your Agreement object
$('#ChangeReason').val(data.SomePropertyHere);
});
这正是我想要的!尽管我几乎没有使用过JSON,但只要进行一些快速的文档检查,就可以正确地填充所有内容。非常感谢。这正是我想要的!尽管我几乎没有使用过JSON,但只要进行一些快速的文档检查,就可以正确地填充所有内容。非常感谢。