ASP.NET MVC 3を使用しています。コントローラーに送信されていなくても、モデルを更新できるかどうか質問がありますか?おそらく、質問は完全なものですか、それとも私は間違った方法で物事をやっていますか?
コントローラメソッドへのajax呼び出しがあります。IDを渡しています。コントローラーにデータベース内のいくつかのものを見つけてもらい、モデルを更新してビューに戻したいと思います。
私はかなり大きなモデルを持っています...モデルをjavascriptオブジェクトに変換し、それをコントローラーに送信するいくつかの解決策を見つけました。それが唯一の/正しい方法ですか?
jQuery $ .ajax()postリクエストでモデルをMVCコントローラーメソッドに送信する方法
おそらくコントローラーにモデルがあり、その中のいくつかのフィールドを更新できると思いましたか?
コントローラへの呼び出し:
function getBis(id) {
$.ajax({
type: "GET",
url: '@Url.Action("GetBis")',
data: { "id": id },
dataType: 'json',
cache: false,
success: function (data) {
// Do something here
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Problem!");
}
});
}
コントローラコード:
public ActionResult GetBis(string id)
{
BeslutIStortDTO viewModel = new BeslutIStortDTO();
int theId;
if (!Int32.TryParse(id, out theId))
throw new Exception("Wrong id");
viewModel = _blLayer.GetBIS(theId);
// somehow update the model here!
return View("index", viewModel);
}