我的申请基本上只是一个有问题和多选答案的调查。并非所有问题都是针对每个人提出的,而是仅当一个人选择对先前问题的某个答案时。即他们在问题15上选择C,然后需要询问问题15.5,否则问题16。我只是添加了这个分支,所以其他一切都在工作。
我在“问题”类中添加了一个int属性“DependentAnswer”来保存答案的ID,这会导致询问给定的问题。一个答案可能会导致多个问题,但反之则不然。
当我向“答案”类添加一个属性“DependentQuestions”,这是一个int列表意味着保存任何问题的ID,如果选择给定的答案应该被问到,我得到这个错误:'DependentAnswer ''问题'上的'属性'无法设置为'null'值。您必须将此属性设置为类型为“System.Int32”的非null值。
以下是我的问题类的重要内容:
hotkeys.prototype._selectAll = function(data) {
var i,node;
var nodes = s.graph.nodes();
var selected = [];
for (i=0; i<nodes.length; i++){
node = nodes[i];
selected.push(node);
}
document.nodeSelector.select(selected);
}
hotkeys.prototype.selectAll = function(data) {
var tag = event.target.tagName.toLowerCase();
if (event.keyCode == 65 && tag != 'input' && tag != 'textarea' && this.ctrl && !this.shift) { // Ctrl + A
this._selectAll();
}
}
这是我的答案课。我创建了一个构造函数,我打算填充DependentQuestions列表,但是我得到一个错误,它似乎与LINQ有关,并且DependentAnswer在任何不依赖于a的问题中都为null,但是我我没有足够的经验知道什么是错的。
public class Question
{
[Key]
public int id { get; set; }
public string question { get; set; }
public int DependentAnswer { get; set; }
}
答案 0 :(得分:1)
尝试使DependentAnswer属性可以为空
public int? DependentAnswer { get; set; }
答案 1 :(得分:1)
首先在构造函数中初始化列表,以便它不会触发错误:
public Answer()
{
DependentQuestions = new List<int>();
//Your additional logic here
}
然后,如果在使用Question类时使用null int,则将其设为可为空:
public int? DependentAnswer { get; set; }