私はスレッドとコメントで取りたいビューを持っているので、投稿を行うときに両方を持ち、両方を更新できるようにします。私は1つだけのアクションの結果であり、他はそれがsucceded場合は、メインページに戻りますポストされながらビューを返す2つの方法があります複数の値をビューに渡す
@model GameDiscussionBazzar.Data.Comment
@{
ViewBag.Title = "EditComment";
Layout = "~/Views/Shared/_EditCommentLayout.cshtml";
}
<div class="EditComment">
<h1>
Edit Comment
</h1>
@using (Html.BeginForm("EditThreadComment", "Comment"))
{
<div class="EditingComment">
@Html.EditorForModel()
@Html.Hidden("comment", Model)
@Html.HiddenFor(i => i.ParentThread)
<input type="submit" value="Save"/>
@Html.ActionLink("Return without saving", "Index")
</div>
}
</div>
:ここ
は図です。 ここでの方法は以下のとおりです。public ActionResult EditThreadComment(int commentId)
{
Comment comment = _repository.Comments.FirstOrDefault(c => c.Id == commentId);
return View(comment);
}
[HttpPost]
public ActionResult EditThreadComment(Comment comment, Thread thread)
{
var c = thread.ChildComments.FirstOrDefault(x => x.Id == comment.Id);
thread.ChildComments.Remove(c);
if (ModelState.IsValid)
{
_repository.SaveComment(comment);
thread.ChildComments.Add(comment);
_tRepo.SaveThread(thread);
TempData["Message"] = "Your comment has been saved";
return RedirectToAction("Index", "Thread");
}
else
{
TempData["Message"] = "Your comment has not been saved";
return RedirectToAction("Index", "Thread");
}
}
だから、もう一度私の質問は、私はビューに2つのパラメータを渡すにはどうすればよいのですか?またはスレッドの値をどのように渡すのですか?