【发布时间】:2014-07-13 03:03:53
【问题描述】:
我正在 asp.net MVC 中构建评论系统。没什么特别的,但仍然比我的技能水平高一点。我正在使用部分视图在页面上显示评论表单,并且需要已登录的用户才能发表评论并让部分视图重新加载他们提交的内容。
我目前的代码如下:
查看:
@using Microsoft.AspNet.Identity
@model DCH.Web.Models.CollaborativeProjectDetailsViewModel
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script>
tinymce.init({ selector: '#commentBox',
plugins: [
["advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker"],
["searchreplace wordcount visualblocks visualchars code insertdatetime media nonbreaking"],
["save table contextmenu directionality emoticons template paste"]
],
statusbar: false,
menubar: false
});
</script>
@{
var loggedInUser = User.Identity.GetUserName();
}
<!--Comments-->
<div>
<h3>Comments</h3>
<p> You are logged in as: <span class="commentUser">@loggedInUser</span>
@Html.ActionLink("(Log Out)", "LogOut", "Account")</p>
</div>
@using (Ajax.BeginForm("CommentForm", null, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace }, new { id = "CollaborativeCommentForm" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div>
@Html.ValidationMessageFor(m => m.Content)
@Html.TextAreaFor(m => m.Content, new {style = "max-width: 1000px; width = 1000px", @class = "form-control", rows = "10", id = "commentBox"})
</div>
<div class="pull-right comment-submit-top-pad">
<input type="button" value="Cancel" class="btn btn-danger" />
<input type="button" value="Submit" class="btn btn-primary" />
</div>
<!--End Comments-->
}
型号:
[Required]
public int Id { get; set; }
public string PostedBy { get; set; }
public DateTime PostedOn { get; set; }
[Required(ErrorMessage = "Please fill in a comment below")]
[AllowHtml]
public string Content { get; set; }
控制器:
[HttpPost]
public ActionResult CommentForm(CollaborativeProjectDetailsViewModel model)
{
if (ModelState.IsValid)
{
Session["CollaborativeComments"] = model;
}
return PartialView("CollaborativeComments");
}
现在我浏览了 asp.net 上的教程,但仍然不知道该怎么做。我知道我必须能够 db.Comments.Add 但不确定如何生成这样的代码。提前感谢您的帮助。
【问题讨论】:
-
你在使用EntityFramework吗?
-
是的,我正在使用 EntityFramework
标签: c# jquery asp.net asp.net-mvc asp.net-mvc-4