需要在我的代码中添加注释部分以获得详细信息窗格。
大家好,
我正在创建一个应用程序作为测试项目来管理和帮助处理 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 应用程序相当陌生。
我将创建一个 Comments 模型(如果您使用 EF),该模型将与此 TicketView 模型关联(无论您的票证模型有什么 pk)。然后在您的视图中,我将创建一个 _Comments 部分,其中包含一个 TextArea 和一个 Submit 按钮。事实上,我已经做过这件事并且有效。 _Comments 部分中的提交按钮将发布评论并返回到包含评论的视图。
我的模型是这样设置的。我在请求和响应之间有一对多的关系。响应有组。在每组回复中,我都有一个或多个群组评论。
例如,在我的父视图中(其中有一个包含响应、组和组评论的 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>
}
}
}