需要在我的Detais窗格的代码中添加注释部分。
大家好,
我正在创建一个用于测试和管理IT凭单的应用程序作为测试项目。我有一个详细信息窗格,其中显示了一个张贴表单,允许我查看详细信息并根据需要进行更新。一切工作正常,除了我需要创建一个注释部分以添加有关详细信息窗格中已完成工作的详细信息。
@model TicketingSystem.ViewModels.TicketFormViewModel
@{
ViewBag.Title = "Details";
}
<h2>@Model.Title</h2>
@using (Html.BeginForm("Save", "Tickets"))
{
<div class="form-group">
@Html.LabelFor(t => t.Subject)
@Html.TextBoxFor(t => t.Subject, new { @class = "form-control" })
@Html.ValidationMessageFor(t => t.Subject)
</div>
<div class="form-group">
@Html.LabelFor(t => t.SenderName)
@Html.TextBoxFor(t => t.SenderName, new { @class = "form-control" })
@Html.ValidationMessageFor(t => t.SenderName)
</div>
<div class="form-group">
@Html.LabelFor(t => t.SenderEmail)
@Html.TextBoxFor(t => t.SenderEmail, new { @class = "form-control" })
@Html.ValidationMessageFor(t => t.SenderEmail)
</div>
<div class="form-group">
@Html.LabelFor(t => t.Message)
<br />
@Html.TextAreaFor(t => t.Message)
</div>
<div class="form-group">
@Html.LabelFor(t => t.StateId)
@Html.DropDownListFor(t => t.StateId, new SelectList(Model.State, "Id", "Name"), "", new { @class = "form-control" })
@Html.ValidationMessageFor(t => t.StateId)
</div>
@Html.HiddenFor(t=>t.Id , new { @class = "form-control"})
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-primary">Save</button>
}
我希望获得一个类似于聊天框的小功能,该功能带有一个带有“发布”按钮的小文本框,该文本框下方允许我提交到我的评论模型。我真的不确定如何开始执行类似的操作。任何指针都将不胜感激,因为我对MVC和整个Web应用程序还很陌生。
答案 0 :(得分:0)
我将创建一个注释模型(如果您使用的是EF),该模型将与此TicketView模型相关联(无论票证模型有什么pk)。然后在您的视图中,我将创建一个_Comments部分,该部分具有一个TextArea和一个Submit按钮。实际上,我已经做到了这一点并且有效。 _Comments部分中的“提交”按钮将发布评论,并返回到其中包含评论的视图。
我的模型是这样设置的。我在请求和响应之间存在一对多的关系。响应具有组。在每组响应中,我都有一个或多个GroupComment。
例如,在我的父视图中(该视图具有响应,组和组注释的ViewModel)...
<section class="comments">
<label class="commentsLabel">Comments:</label>
<span>
@Html.Partial("_CommentsPartial", comment)
</span>
</section>
然后我的评论部分如下所示(这是显示评论(如果存在)。如果还不存在评论,则有一个“添加”按钮,以便用户可以添加评论:
@model IEnumerable<GroupComment>
@{
var comment = Model;
foreach (var c in comment)
{
if (c.COMMENT_ID > 0)
{
<div>
<img src="~/Content/note.jpg" /><span
class="comment">@Html.ActionLink("Edit", "Edit", "Comments", new { id =
c.COMMENT_ID }, null)</span> @c.COMMENTS
</div>
} else {
<div>
@Html.ActionLink("Add \u00BB", "Create", "Comments", new { NCR_REQUEST_ID = c.NCR_REQUEST_ID, NCR_GROUPS_ID = c.NCR_GROUPS_ID }, new { @class = "btn btn-primary btn-sm" })
</div>
}
}
}