各位知道使用RadioButtonList的进来接分

ajuni194 2004-08-11 08:15:33
使用RadioButtonList的问题,要实现调查问卷的前台显示,问几次了,居然没能碰到有效的方案,得到zpisgod(GOD)兄思路的指点,自己写一段代码:
........
<asp:datalist id="question" ">
<ItemTemplate>

<%#DataBinder.Eval(Container.DataItem,"Polls_Question")%>

<asp:RadioButtonList id=RadioButtonList1 runat="server" DataSource='<%# GetDataSoure(DataBinder.Eval(Container.DataItem,"Polls_Qutetion_ID").ToString())%>' >
</asp:RadioButtonList> </ItemTemplate>
</asp:datalist>

注意有个GetDataSoure的函数是我写在后台代码里面的:
public ArrayList GetDataSoure(string _ID)
{
string conntr=System.Configuration.ConfigurationSettings.AppSettings["connstr"].ToString();

string SQL="SELECT Polls_Option1,Polls_Option2,Polls_Option3,Polls_Option4,Polls_Option5 FROM Polls_Question WHERE Polls_Qutetion_ID='"+_ID.Trim()+"'";

ArrayList ar=new ArrayList();
SqlConnection conn=new SqlConnection(conntr);
SqlCommand comm=new SqlCommand(SQL,conn);
conn.Open();
SqlDataReader dr=comm.ExecuteReader();

dr.Read();

         ar.Add(dr["Polls_Option1"].ToString());      ar.Add(dr["Polls_Option2"].ToString());      ar.Add(dr["Polls_Option3"].ToString());      ar.Add(dr["Polls_Option4"].ToString());
ar.Add(dr["Polls_Option5"].ToString());

conn.Close();
return ar;
}


问我怎么能够绑定RadioButtonList的DataValueField属性呢?
因为那样一份调查问卷才可以进行统计!

至于要实现的功能,就象csdn的调查问卷一样!大虾门,救命啊!
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2004-08-12
  • 打赏
  • 举报
回复
don't quite understand your question, if you use

<asp:RadioButtonList DataSource='<%# .. %>'

the value and text will be bound to the value from the arraylist, for example

<form runat="server">
<asp:RadioButtonList id="rbl" runat='server' />>
<asp:Button text="submit" runat=server OnClick="GetSel" />
</form>

<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList al = new ArrayList();
for (int i=0; i < 10; i++)
al.Add(i);

rbl.DataSource = al;
rbl.DataBind();
}
}

void GetSel(Object sender, EventArgs e)
{
ListItem li = rbl.SelectedItem;

Response.Write(String.Format("selected index:{0}<BR> text:{1}<BR>value:{2}<BR>", rbl.SelectedIndex, li.Text,li.Value));
}
</script>

in your case, you just need to do

foreach(DataListItem dli in question.Items)
{
RadioButtonList rbl = (RadioButtonList)dli.FindControl("RadioButtonList1");
ListItem li = rbl.SelectedItem;

Response.Write(String.Format("selected index:{0}<BR> text:{1}<BR>value:{2}<BR>", rbl.SelectedIndex, li.Text,li.Value));
}
ajuni194 2004-08-12
  • 打赏
  • 举报
回复
UP~~~~
「已注销」 2004-08-11
  • 打赏
  • 举报
回复
比较难的问题啊:)
你用SortList看看?

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧