在数据库中为帖子添加新评论

时间:2012-02-27 06:08:48

标签: asp.net-mvc asp.net-mvc-3 razor

我正在mvc3中创建一个论坛应用程序......

我在帖子页面上有一个名为“添加新评论”的链接,用户可以在该页面上添加评论...用于创建新评论我已经编写了以下代码....

 public ActionResult Addnew(int id)
    {
        Answer ans = new Answer();
        ans.QuestionQId = id;

        return View();
    }
    [HttpPost]
    public ActionResult Addnew(Answer ans,int id)
    {

        _db.Answers.Add(ans);
        _db.SaveChanges();
           return View("Details");
    }

但每当我尝试保存代码时,它会给出平均错误,如下所示: 值不能为空。 参数名称:entity

我有两个不同的表格{id(pk),Question}和Answer {id(pk),ans,Qid(fk)}

我想要做的就是在为特定问题添加评论时,其Qid将存储在答案数据库中.....

帮助我!!

查看相关内容 -

    @using (Html.BeginForm()) 
{ 
@Html.ValidationSummary(true)
 <fieldset> 
     <legend>Answer</legend> 
     <div class="editor-label">
       @Html.LabelFor(model => model.AId)
    </div> 
    <div class="editor-field">
      @Html.EditorFor(model => model.AId) 
      @Html.ValidationMessageFor(model => model.AId)
    </div>
    <div class="editor-label">
      @Html.LabelFor(model => model.Ans)
    </div> 
    <div class="editor-field">
      @Html.EditorFor(model => model.Ans) 
      @Html.ValidationMessageFor(model => model.Ans)
    </div>
    <div class="editor-label">
      @Html.LabelFor(model => model.QuestionQId)
    </div> <div class="display-field">
      @Html.DisplayFor(modelItem => modelItem.QuestionQId)
    </div> 
} 

2 个答案:

答案 0 :(得分:0)

我认为你没有将Answer对象传递给视图,可能会导致问题。你有没有试过

public ActionResult Addnew(int id)
    {
        Answer ans = new Answer();
        ans.QuestionQId = id;

        return View(ans);
    }

答案 1 :(得分:0)

是否在您的控制器的路径定义参数中? 可能这是你的问题!