我对ASP.NET MVC相当陌生。这个想法非常简单,但我似乎无法使其工作。ASP.NET MVC:“票据”的“详细信息”下的“添加评论”
我有一张“门票”,可以在/ Tickets/Details/[id]下查看。该票据下方是评论列表和“添加评论”部分。在开始时,我分别测试了它并手动编写了TicketID。现在我需要将当前票证的ID和整个票据保存在此评论中供以后使用。评论成功保存后,应该刷新页面(票证)。
基于ASP中以往的经验我想这下我的票信息
<div class="panel panel-info">
<div class="panel-heading">Comments</div>
<div class="panel-body">
@{
Html.RenderAction("create", "TicketComments");
}
</div>
我想在我的TicketCommentsController.cs以下的事情:
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);
}
,但在回它给了我一个消息:
“传递到字典中的模型项类型为'System.Data.Entity.DynamicProxies.Ticket_5309A05301E0FE6AD5614FE3ED9E54D6FAB46DFEAFB2A38B4341FACD04441DF5',但该字典需要一个'Cronos.Models.TicketComment'类型的模型项。
我很困惑下一步该做什么。我读过的一件事是合并TicketCommentsController TicketsController,但这感觉混乱。
任何人都可以帮忙吗?
我明白你的意思。我花了一段时间才意识到,但是当我将返回视图清空时,它经历了TicketComments视图的Create.cshtml。我认为返回值将转到特定票证的详细信息页面。我最终回到了页面上,但评论的文本框已经填满。任何想法,如果这是保存评论后刷新页面的正确方法? –