我正在系统的后端创建一个单选按钮列表。 是否有任何方法可以让我以随机顺序显示项目?
我的代码:
<asp:radiobuttonlist id="RadioButtonList1" runat="server"
TextAlign="Right" CellPadding="10" RepeatLayout="Table"
CausesValidation="True" CssClass="radioAnswers" ClientIDMode="Static"></asp:radiobuttonlist>
C#
RadioButtonList1.Items.Add(New ListItem(rsQuestion("a"), "A"))
RadioButtonList1.Items.Add(New ListItem(rsQuestion("b"), "B"))
RadioButtonList1.Items.Add(New ListItem(rsQuestion("c"), "C"))
RadioButtonList1.Items.Add(New ListItem(rsQuestion("d"), "D"))
答案 0 :(得分:2)
使用随机类创建一个数字列表,范围1是起始,4是单选按钮的表号。 使用listitems创建另一个列表,然后遍历数字列表并将它们添加到索引中,因为该strating必须是一个整数,您必须从数字列表中减去一个
Random ran = new Random();
var numbers = Enumerable.Range(1, 4).OrderBy(i => ran.Next()).ToList();
List<ListItem> ans= new List<ListItem>();
ans.Add(new ListItem(rsQuestion["a"].ToString(), "A"));
ans.Add(new ListItem(rsQuestion["b"].ToString(), "B"));
ans.Add(new ListItem(rsQuestion["c"].ToString(), "C"));
ans.Add(new ListItem(rsQuestion["d"].ToString(), "D"));
foreach (int num in numbers)
{
RadioButtonList1.Items.Add(ans[num - 1]);
}
答案 1 :(得分:0)
你必须使用&#39; OrderBy&#39;订购RadioButtonList数据源的方法。 而且,当您想要随机订购时,您必须使用随机因素。
为此目的,你应该使用&#39; Random&#39; C#中的课程。
使用以下代码:(将数据源放在单选按钮列表中,而不是&#39; yourList&#39;)
Random ran = new Random();
RadioButtonList1.DataSource = yourList.OrderBy(x => ran.Next()).ToList();