JQueryを使用してモデルに値を設定するにはどうすればよいですか?
入力フィールド(id = "comment")があり、その中のテキストをjQueryを使用して_@Model.Comment
_に挿入したい。
のようなもの:@Model.Comment = $("#comment").val();
JQueryを使用してモデルに値を設定するにはどうすればよいですか?
これは意味がありません。 jQueryはクライアントで実行されます。モデルはサーバー上にあります。したがって、jQueryがクライアントで実行されるまでに、サーバー側のコードとモデルは完全に機能しなくなります。
クライアントから実行できることは、AJAXリクエストをサーバーに送信し、入力フィールドの値を渡して、サーバーがそれぞれのアクションを実行してモデルを更新できるようにすることです。
$.ajax({
url: '@Url.Action("foo")',
type: 'POST',
data: { comment: $("#comment").val() },
function(result) {
// TODO: process the server results
}
});
サーバー上のどこにFooコントローラーアクションが呼び出されますか。
[HttpPost]
public ActionResult Foo(string comment)
{
// TODO: do something with the value of the comment and return a result
// to the client
...
}
Darinに反対するのは私から遠く離れています(彼はここで私の質問の半分に答えました!)が、OPまたは他の誰かが便利だと思った場合に備えてこれを上げます。
Html属性をモデル値に与えることにより:
@Html.HiddenFor(x => x.Object.Id, new { id = "Id" } )
次に、JQueryを使用して値を設定できます
$("#Id").val(5); // or whatever value