2014-07-07 3 views
0

Sharepoint 용 무작위 퀴즈 생성기에서 작업 중이며, 선택한 답변이 정답과 일치하는지 확인하는 중 작은 문제가 있습니다.라디오 버튼 목록에 대해 선택된 값을 검색하는 방법은 무엇입니까?

전역으로 선언 된 라디오 버튼 목록이 있습니다.

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 이벤트에서 발생합니다.

내 문제는 다음 이벤트에서 발생하며, 비교 단추에서 발생합니다. 선택한 라디오 버튼 값을 올바른 답을 나타내는 레이블에 저장된 다른 값과 비교하려고합니다.

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

은 "RadioButtonList [인덱스] .SelectedValue"

은 항상 비어 있으며 디버깅 할 때 나는 NullReferenceException이 얻을 : 문제는, 다음의 조건이 작동하지 않습니다됩니다.

누구든지 내가이 문제를 해결할 수 있거나 더 나은 해결책을 알고 있다면 매우 감사 할 것입니다.

미리 감사드립니다. Calin.

답변

0

모든 라디오 버튼이 선택된 경우에만 작동합니다. 한 번에 하나만 선택할 수있는 경우 foreach 라디오 버튼을 사용합니다. null이 아닌지 확인하십시오. label_Response[index]RadioButtonList[index] 일치하는 것으로

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

또 다른 것은 어떻게 확신 할 수 있는가? 이것은 거대한 가정 IMHO입니다.

+0

예, 그렇습니다. 그것들은 동일한 인덱스에 채워지고 디버깅 할 때 label_Response [index]는 정답이 선택되면 RadioButtonList [index]가 가져야하는 값을 갖습니다. – Calin