1

我有一个 ajax 帖子,它为我提供了用户在我的表单中输入的值。

在我的数据库中,我有两个正在使用的实体,我首先使用模型。但是,尝试执行此操作时出现“对象引用未设置为对象的实例”错误:

targetCardQuestionAnswer.SelectedQuestion.Id = selectedQuestionViewModel.QuestionID;

这是我的控制器帖子:

    [HttpPost]
    public bool AnswerForm(SelectedQuestionViewModel selectedQuestionViewModel)
    {
        if (ModelState.IsValid)
        {
        var goalCardQuestionAnswer = new GoalCardQuestionAnswer();

        goalCardQuestionAnswer.SelectedQuestion.Id = selectedQuestionViewModel.QuestionID;
        goalCardQuestionAnswer.Comment = selectedQuestionViewModel.Comment;
        goalCardQuestionAnswer.Grade = selectedQuestionViewModel.Grade;

        answerNKIRepository.SaveQuestionAnswer(goalCardQuestionAnswer);
        answerNKIRepository.Save();

        }

我选择的问题视图模型:

   public class SelectedQuestionViewModel
{

    public int? Grade { get; set; }
    public string Comment { get; set; }
    public string SelectedQuestionText { get; set; }
    public int QuestionID { get; set; }

}

我的数据库模型

在此处输入图像描述

4

2 回答 2

5

您必须初始化您的SelectedQuestion属性:

var goalCardQuestionAnswer = new GoalCardQuestionAnswer();
goalCardQuestionAnswer.SelectedQuestion = new SelectedQuestion();
于 2012-04-24T10:37:50.313 回答
1

如果我是你,我还会在我的模型中添加一个外键属性 SelectedQuestionId。然后您可以设置此值,您的导航属性将在 SaveChanges 或当您从存储库请求对象时自动检索。

于 2012-04-24T10:42:56.487 回答