ASP.NET MVCはかなり新しいです。アイデアは非常に簡単ですが、私はそれを動作させるように見えることはできません。ASP.NET MVC:「チケット」の「詳細」の下に「コメントを追加」
私はチケットを持っています。チケットは/チケット/詳細/ [ID]の下に表示されます。このチケットの下には、コメントのリストと「コメントの追加」セクションがあります。最初はすべてを別々にテストし、手動でTicketIDを書きました。後で使用するために、現在のチケットのIDとチケット全体をこのコメントに保存する必要があります。コメントが正常に保存されたら、チケットのページを更新する必要があります。
public ActionResult Create([Bind(Include = "ID, body")] TicketComment ticketComment)
{
Ticket ticket = db.Tickets.Find(ticketComment.ID);
if (ModelState.IsValid)
{
ticketComment.UserID = User.Identity.GetUserId();
ticketComment.AanmaakDateTime = DateTime.Now.ToLocalTime();
ticketComment.UpdateDateTime = DateTime.Now.ToLocalTime();
ticketComment.ParentTicketId = ticket.ID;
ticketComment.ParentTicket = ticket;
db.TicketComments.Add(ticketComment);
db.SaveChanges();
return View(ticket);
}
return View(ticket);
}
が、復帰に:私は、私は私のTicketCommentsController.csに次の事を試してみました、私のチケットの詳細
<div class="panel panel-info">
<div class="panel-heading">Comments</div>
<div class="panel-body">
@{
Html.RenderAction("create", "TicketComments");
}
</div>
の下にこれを試してみましたASPでの以前の経験に基づいて
それは私に腹を立てます:
"辞書に渡されたモデルアイテムは、 'System.Data.Entity.DynamicProxies.Ticket_5309A05301E0FE6AD5614FE3ED9E54D6FAB46DFEAFB2A38B4341FACD04441DF5'タイプですが、この辞書には 'Cronos.Models.TicketComment'タイプのモデルアイテムが必要です。
私は次の作業に混乱します。私が読んだことの1つは、TicketsControllerのTicketCommentsControllerをマージすることでしたが、これは面倒です。
誰でも手助けできますか?
私はあなたが何を意味するか参照してください。実現するまでにはしばらく時間がかかりましたが、戻りビューを空のままにしておくと、TicketCommentsビューのCreate.cshtmlを経由しました。私は戻り値が特定のチケットの詳細ページに行くと思った。私はページに戻って終わるが、コメントのテキストボックスはいっぱいです。コメントが保存された後にページを更新する正しい方法であれば、どのような考えですか? –