この問題の解決策を見つけるのに苦労しています。
フォームの一部には、アクティビティで割り当てられたロールを持つユーザーを表示する複数行のテーブルが含まれています。これは、他の多くのセクションを持つ複雑なフォームの一部です。
使用可能なユーザーのドロップダウン リストに基づいてユーザーを変更し、それを ViewModel に反映させて、フォームの [保存] ボタンをクリックすると、変更されたユーザーがデータベースに保存されるようにしたいと考えています。これを実現する方法を見つけようとして立ち往生しています。
dropdwonlist の変更イベントに応答する次の JavaScript があり、変更イベントで期待どおりに動作しますが、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);
}
これはかなり達成すべきことのように思えますが、まだ解決策を見つけていません。たぶん、私はこれに完全に間違って近づいています。うまくいけば、誰かが私を正しい方向に向けることができます。
ありがとう