无法找到解决此问题的方法。
表单的一部分包含一个多行表,其中显示在活动中具有分配角色的用户。它是与许多其他部分的复杂形式的一部分。
我想根据可用用户的下拉列表更改用户,并将其反映在 ViewModel 中,这样当在表单上单击后续“保存”按钮时,更改的用户将被保存回数据库。我一直试图弄清楚如何做到这一点。
我有以下 javascript 来响应 dropdwonlist 更改事件,它在更改事件上按预期工作,但不知道如何更新 ViewModel。
$("#RecipientsName").change(function () {
var url = '@Url.Action("GetUser","Controller")';
var data = { id: $(this).val() };
$.ajax({
type: 'Get',
url: url,
contentType: 'application/json; charset=utf-8',
data: data,
dataType: 'json',
success: function (userInfo) {
$('#UpdatedRecipientName').text('Hey'); // This does update the view
alert(userInfo.Result);
},
error: function (userInfo) {
alert('Failed');
}
});
});
这是控制器中的方法,它只是返回此时传入的字符串。
public ActionResult GetUser(string id)
{
return Json(new {Result = id},JsonRequestBehavior.AllowGet);
}
看起来这应该是一件相当容易完成的事情,但目前还没有找到解决方案。也许我正在接近这一切都是错误的,希望有人能指出我正确的方向。
谢谢