2013-03-09 70 views
0

我想在测试系统中创建一个问题模型。 这个问题可能会有所不同(包括文字,图片等) 答案可能不同(textfield,checkboxes等)在MVC中实现多状态模型

如何在MVC中正确实现这个?

Picture for understanding

+0

可以使问题更具体?该模型几乎独立于MVC模式。 – 2013-03-09 18:28:44

+0

模型是一个图层,而不是一个对象。 – 2013-03-10 09:22:47

回答

0

业务/域对象:

public class Question { 
    public int Id { get; set; } 
    public string Text { get; set; } 
    public string ImagePath { get; set; } 
    public IList<Answer> Answers { get; set; } 
    public Answer CorrectAnswer { get; set; } 
} 

public class Answer { 
    public int Id { get; set; } 
    public string Text { get; set; } 
} 

视图模型:

public class QuestionViewModel { 
    public Question Question { get; set; } 
} 
+0

你会如此友善地添加一些描述代码的文本吗? – 2013-03-09 18:26:09

+0

谢谢。这很不错,但可扩展性如何?例如,我需要一种新的答案:“第二次世界大战。输入日期范围。” [textfieldStart] - [textfieldEnd](两个答案字段,不是一个) – BadEnglish 2013-03-09 20:44:45

+0

这是什么'Question.Answers'是为...你可以显示n个答案。虽然,只有一个'CorrectAnswer'。如果有多个正确答案,那么创建一个'CorrectAnswers'作为'Question'成员的列表。 – xandercoded 2013-03-09 20:49:46