2012-10-16 4 views
1

폴링 응용 프로그램을 구성하려고하는데 데이터베이스 (Option_1, Option_2 등)에서 가져온 옵션이있는 라디오 버튼 목록을 표시해야하지만 라디오 버튼 값이 필요합니다. 1, 2, 3, 4가 제출되면 폴링 결과를 보유하는 다른 데이터베이스에 삽입됩니다. 여기이 코드로 놀아 왔고 Option 텍스트를 라디오 버튼 옆에 표시 할 수 없습니다. 어떤 제안?데이터베이스의 데이터를 사용하여 RadioButtonList를 채우기

   <asp:RadioButtonList ID="Answers" runat="server"> 
       <asp:ListItem Value="1" Text="<% prs['Option_1'].ToString() %>"></asp:ListItem> 
       <asp:ListItem Value="2" Text="<% prs['Option_2'].ToString() %>"></asp:ListItem> 
       <asp:ListItem Value="3" Text="<% prs['Option_3'].ToString() %>"></asp:ListItem> 
       <asp:ListItem Value="4" Text="<% prs['Option_4'].ToString() %>"></asp:ListItem> 
       </asp:RadioButtonList> 

도 여기에 그것을 할 수있는 한 가지 방법은이

var op1 = prs["Option_1"].ToString(); 
       var op2 = prs["Option_2"].ToString(); 
       var op3 = prs["Option_3"].ToString(); 
       var op4 = prs["Option_4"].ToString(); 

       if (op1 != "") 
       { 
        Answers.Items.Add("1"); 
       } 
       if (op2 != "") 
       { 
        Answers.Items.Add("2"); 
       } 
       if (op3 != "") 
       { 
        Answers.Items.Add("3"); 
       } 
       if (op4 != "") 
       { 
        Answers.Items.Add("4"); 
       } 
+0

Answers.Items.Add (새 ListItem (op1, "1"))); –

답변

1

주변에 엉망. for 루프를 표시 할 응답 위로 이동하는 루프로 바꿉니다. 각 항목에 대해 ListItem을 만들어 목록에 넣습니다. 그런 다음 목록을 라디오 단추 목록의 데이터 소스로 설정하십시오.

var optionList = new List<ListItem>(); 

for (var i = 0; i < 4; i++) 
{ 
    var newItem = new ListItem() 
    { 
     Value = count.ToString(), 
     Text = string.Format("Option {1}", count.ToString()); 
    }; 

    optionList.Add(newItem); 
} 

Answers.DataSource = optionList; 
Answers.DataBind(); 
관련 문제