【问题标题】:How do I submit a form into a database in asp.net MVC如何在 asp.net MVC 中将表单提交到数据库中
【发布时间】: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


【解决方案1】:

我建议您前往 http://www.entityframework.org/entity-framework-getting-started/ 并进行演练,以便您了解 EF 尝试做的基本知识。

一旦你这样做了,你就会知道上面该做什么了。使用 EF 确实非常简单,但是如果您对文章将如何向您展示有疑问。

祝你好运。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多