2012-03-28 5 views
0

데이터베이스에서 여러 질문을로드 할 때 양식을 만들었습니다. 다른 페이지의 범주별로 질문이로드되었으므로 이제는 모든 페이지가 라디오 버튼의 값은 null이 아니어야합니다 (선택되지 않은 상태). 라디오 버튼을 모두 조사 할 수 있습니다 경우

그래서 나는 질문이 데이터베이스에서 향후에로드 된 이후 어떻게 내가 라디오 버튼의 상태를 확인할 수 있습니다 방법)

Q, 다음 질문 카테고리로 다음 페이지로를 진행할 수 있습니다 Y 카테고리의 N 개의 질문이 될 수 있습니다. 동적 라디오 버튼을 생성하고 모든 값이 있는지 확인하려는 경우동적 양식의 라디오 버튼 확인

+0

따라서 데이터베이스에서 라디오 버튼을 동적으로 생성하고 각 라디오 버튼에 값이 있는지 확인하고 싶습니까? 가치가 없다면 어떻게 될까요? –

+0

값이 없으면 사용자가 다음 페이지로 이동할 수 없습니다. –

+1

라디오 버튼을 동적으로 생성하는 대신, 대신'RadioButtonList'를 사용하여 결과 세트에 바인딩하겠습니까? –

답변

1

, 당신이 Panel 또는 PlaceHolder 같은 용기에 포장한다 :

<asp:PlaceHolder ID="PlaceHolder1" runat="server"> 
    <!-- put the dynamically generated radio buttons here --> 
</asp:PlaceHolder> 

을 용기에 그들을 가하고함으로써, 다음과 같이 할 수 있습니다 :

foreach (RadioButton radio in PlaceHolder1.Controls.OfType<RadioButton>()) 
{ 
    //set the enabled state based on whether a value is assigned 
    radio.Enabled = radio.Value.Length > 0; 
} 
+0

이것은 거의 효과가 있었지만 현재 누락 된 것은 그룹별로가 아니라 각 라디오를 독점적으로 잡는 것입니다. 따라서 동일한 질문에 대해 3 개의 라디오가있는 경우 1 개만 선택할 수 있지만이 기능은 1 개를 선택하면 나머지 2 개는 선택되지 않으므로 다음 페이지로 이동하지 않게됩니다. –

+0

감사합니다. 그것들을 잃어 버리지 않도록 세션 변수에 대한 응답을 저장하고있을 때, 나는 그것을 어떻게하는지 알아 냈습니다. 나는 카운터에 counter1을 가지고 있습니다. 그 페이지에있는 질문의 개수와 counter2를 가지고'counter2 + 1' 내가 null이 아니라면 답을 구할 때, 나는 그걸 잊어 버렸기 때문에, 기본적으로 전에 체크하고 있었기 때문에 어쨌든 어떤 자바 스크립트 나 다른 것을 만들 필요가 없었습니다. –