Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在数据库中为帖子添加新注释_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 在数据库中为帖子添加新注释

Asp.net mvc 在数据库中为帖子添加新注释,asp.net-mvc,asp.net-mvc-3,razor,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 ActionResu

我正在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");
    }
但每当我尝试按如下方式保存代码时,它都会给出平均错误: 值不能为null。 参数名称:实体

我有两个不同的表格问题{id(pk),问题}和答案{id(pk),ans,Qid(fk)}

我只想在为特定问题添加注释时,其Qid将存储在答案数据库中

救救我

视图相关--

@使用(Html.BeginForm())
{ 
@Html.ValidationSummary(true)
答复
@LabelFor(model=>model.AId)
@EditorFor(model=>model.AId)
@Html.ValidationMessageFor(model=>model.AId)
@LabelFor(model=>model.Ans)
@EditorFor(model=>model.Ans)
@Html.ValidationMessageFor(model=>model.Ans)
@LabelFor(model=>model.QuestionQId)
@DisplayFor(modelItem=>modelItem.QuestionQId)
} 

我认为您没有将应答对象传递给视图,这可能导致问题。你试过跟随吗

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

        return View(ans);
    }

是否在控制器的路由定义参数中?
也许这是你的问题

您得到的错误是在保存时,对吗?然后,您可以显示负责保存的操作结果吗?您是否检查了
ans
参数是否为null?@Eranga:是的,它将ans显示为null并在那里给我错误…但我不知道如何解决它。您可以发布
Addnew
视图(代码内部
使用(var for=BeginForm
)@Eranga:嘿,我需要破解代码,因为它不允许我粘贴整个代码。你调试过解决方案并检查post方法中的应答对象是否为空吗?@使用(Html.BeginForm()){@Html.ValidationSummary(true)Answer@Html.LabelFor(model=>model.AId)@Html.EditorFor(model=>model.AId)@Html.ValidationMessageFor(model=>model.AId)@Html.LabelFor(model=>model.Ans)@Html.EditorFor(model=>model.Ans)@Html.ValidationMessageFor(model=>model.Ans)@Html.LabelFor(model=>model.QuestionQId)@Html.DisplayFor(modelItem=>modelItem.QuestionQId)}嘿,提交按钮在哪里?你没有使用任何或没有在评论中添加任何内容吗?你能在我的开始表单块之后用viewIts的完整代码更新问题吗

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

        return View(ans);
    }