插入数组时,对象引用未设置为对象的实例

时间:2018-08-16 12:11:39

标签: asp.net-mvc

我正在尝试将数组从我的视图发送到控制器,以将其保存在数据库中。

用户将选中几个复选框,每个复选框都应保存在自己的行中。

但是,什么都没有正确发送,我收到了此消息。

  

System.NullReferenceException:对象引用未设置为对象的实例。

我有一个非常简单的表,其中包含以下内容:

public class Answer
{
    public int Id { get; set; }
    public int OptionID { get; set; }
    public int QuestionID { get; set; } = 1;
}

在视图中,我具有格式如下的复选框列表:

<input type="checkbox" name="OptionID[0]" value="1" class="single-checkbox"> checkbox 1<br>
<input type="checkbox" name="OptionID[1]" value="2" class="single-checkbox"> checkbox 2<br>
<input type="checkbox" name="OptionID[2]" value="3" class="single-checkbox"> checkbox 3<br>
<input type="checkbox" name="OptionID[3]" value="4" class="single-checkbox"> checkbox 4<br>

在我的控制器中:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create(List<Answer> answers)
{
        if (ModelState.IsValid)
        {
            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                foreach (var i in answers)
                {
                    db.Answers.Add(i);
                }
                await db.SaveChangesAsync();
            }
            return RedirectToAction("Index");
        }
        return View(answers);
}

0 个答案:

没有答案