投稿を有効にしようとしています。私は「postId」を送信コントローラのアクションだビューからコントローラへのアクション(httpget)から別のビューへ同じコントローラーアクション(httppost)へのデータの受け渡し
<script>
$("#target").click(function() {
$("#formPlace").load('@Url.Action("AddComment","Posts", new { postId = Model.Id })');
});
</script>
:
@model PostViewModel
モデルは、私はJavaScriptを使用してコントローラに送信され、持っていると「ID」プロパティ:それは私の見解は、受信モデルですTo:
:[HttpGet]
public ActionResult AddComment(int postId)
{
var comment = new CommentViewModel();
comment.PostId = postId;
return this.PartialView("_AddComment", comment);
}
このビューは、ユーザーがコメントの内容を埋めるために持っているフォームを返します
ビューがモデルを受け取ると、 "PostId"はまだ正しい=私はjavascriptで設定したものです。しかし、ユーザーがフォームを送信した後、コントローラに送信されるCommentViewModelには、 "PostId"の0(デフォルトのint値)が設定されます。これはコントローラーアクションです:
[HttpPost]
public ActionResult AddComment(CommentViewModel viewModel)
{
// transfer the view model to db model and save;
}
正しいPostIdをどのように保つことができますか?
'CommentViewModel'のコードはどうしたらいいですか? – CodingYoshi