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?
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;