如何检索单选按钮列表的选定值

时间:2014-07-07 12:00:36

标签: c# sharepoint radiobuttonlist

我正在为Sharepoint开发一个随机测验生成器,当我检查所选答案是否与正确答案匹配时,我遇到了一个小问题。

我有一个全局的radiobutton列表。

public static RadioButtonList[] RadioButtonList = new RadioButtonList[5]; //5 elements are enough, as i'll stick to a 5-question quiz for now.

然后,在填充下拉列表时,我正在创建一个新对象并将项目(答案)添加到列表中。

for (var i=0; ... )
...
RadioButtonList[i] = new RadioButtonList();                 
RadioButtonList[i].Items.Add(SPListItemCollection[index]["Column"].ToString());
...

到目前为止一切正常。以上所有内容都发生在生成代码的按钮的click事件中。

我的问题出现在以下事件中,用于比较按钮。 我试图将选定的radiobutton值与存储在标签中的另一个值进行比较,该值代表正确的答案。问题是,以下情况不起作用:

for (var index ... )
....
if (RadioButtonList[index].SelectedValue.Equals(label_Response[index].Text))
...

“RadioButtonList [index] .SelectedValue”总是为空,调试时会出现NullReferenceException。

如果有人可以帮我解决这个问题,或者知道更好的解决方案,我将非常感激。

提前致谢, 克林。

1 个答案:

答案 0 :(得分:0)

仅当选择了所有单选按钮时,这才有效。当只能同时选择一个时,您将使用foreach radiobutton。 请尝试检查not null。

for (var index ... )
....
if (RadioButtonList[index].SelectedValue!=null &&  RadioButtonList[index].SelectedValue.Equals(label_Response[index].Text))
...

另一件事你怎么能确定label_Response[index]会匹配RadioButtonList[index]?这是一个巨大的假设恕我直言。