Search code examples
c#asp.netradiobuttonlist

Output RadioButtonList from C# to ListView


I am trying to fill a RadioButtonList from database and output it in a ListView:

What I have tried:

ASP:

<ItemTemplate>
    <asp:RadioButtonList runat="server" DataSource=<%#Eval("respostas")%>></asp:RadioButtonList>
</ItemTemplate>

C#:

DataRow dr = dt.NewRow();
dr["nome_pergunta"] = reader["pergunta"];

DataTable respostas = new DataTable();
respostas.Columns.Add("respostaA", typeof(string));
respostas.Columns.Add("respostaB", typeof(string));
respostas.Columns.Add("respostaC", typeof(string));
respostas.Columns.Add("respostaD", typeof(string));
DataRow linha = respostas.NewRow();
linha["respostaA"] = reader["respostaA"].ToString();
linha["respostaB"] = reader["respostaB"].ToString();
respostas.Rows.Add(linha);


dr["respostas"] = respostas;

dt.Rows.Add(dr);

I also tried: ASP:

<ItemTemplate>
    <%#Eval("respostas")%>
</ItemTemplate>

C#:

RadioButtonList respostas = new RadioButtonList();
respostas.ID = "respostas_" + numero_respota;
respostas.Items.Add(new ListItem(reader["respostaA"].ToString(), "a"));
respostas.Items.Add(new ListItem(reader["respostaB"].ToString(), "b"));
respostas.Items.Add(new ListItem(reader["respostaC"].ToString(), "c"));
respostas.Items.Add(new ListItem(reader["respostaD"].ToString(), "d"));

None of them worked, any suggestions?


Solution

  • After some tests here is the solution:

    ASP:

    <ItemTemplate>
        <asp:RadioButtonList runat="server" DataSource=<%#Eval("respostas")%>></asp:RadioButtonList>
    </ItemTemplate>
    

    In C#:

    List<string> l = new List<string>();
    l.Add(reader["respostaA"].ToString());
    l.Add(reader["respostaB"].ToString());
    
    dr["respostas"] = l;