1

我有一個ajax文章,它向我提供了用戶輸入到表單中的值。未將對象引用設置爲對象錯誤的實例MVC3

而在我的數據庫中,我有兩個正在使用的實體,我首先使用模型。 然而即時得到試圖做到這一點時,「未將對象引用設置到對象的實例」錯誤:

goalCardQuestionAnswer.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(); 

     } 

我SelectedQuestionViewModel:

public class SelectedQuestionViewModel 
{ 

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

} 

我的數據庫模型

enter image description here

回答

5

您必須初始化SelectedQuestion財產:

var goalCardQuestionAnswer = new GoalCardQuestionAnswer(); 
goalCardQuestionAnswer.SelectedQuestion = new SelectedQuestion(); 
+0

最好在GoalCardQuestionAnswer的構造函數中...... – Dante 2012-04-24 10:39:07

+0

非常感謝。一個小小的懷念,但是如果沒有幫助,永遠不會想出來。 – 2012-04-24 10:49:18

+0

我沒有得到「對象引用未設置爲對象錯誤的實例」消息了。相反,我得到「NKImodeledmxContainer.SelectedQuestion中的實體參與'QuestionSelectedQuestion'關係,發現0個相關的'Question'1'Question'is expected。當我嘗試保存時。任何想法爲什麼以及如何解決這個問題? – 2012-04-24 11:07:22

1

如果我是你我也會添加一個外鍵屬性SelectedQuestionId到我的模型。然後,您可以設置此值,並且您的導航屬性將在SaveChanges或從存儲庫請求對象時自動檢索。

相關問題