使用数组随机显示相同RadioButtonList项的顺序

本文关键字:RadioButtonList 顺序 数组 随机 显示 | 更新日期: 2023-09-27 18:07:21

我使用array随机生成RadioButtonList项的顺序,但是当我选择其中一个单选按钮时,所选内容将被释放并生成另一个顺序

我试图得到一个问题,并在我的数据库表的单选按钮列表中添加选项,我想改变每个用户的单选按钮的列表顺序。

我的代码:

RBList.ClearSelection();
    RBList.Items.Clear();
    string[] arr = new string[4]{
        ds.Tables["Quiz"].Rows[0][1].ToString(),
        ds.Tables["Quiz"].Rows[0][2].ToString(),
        ds.Tables["Quiz"].Rows[0][3].ToString(),
        ds.Tables["Quiz"].Rows[0][4].ToString()
    };
    System.Random rnd = new System.Random();
    arr = arr.OrderBy(x => rnd.Next()).ToArray();
    RBList.Items.Add(arr[0]);
    RBList.Items.Add(arr[1]);
    RBList.Items.Add(arr[2]);
    RBList.Items.Add(arr[3]);
    ques1.Text = (ds.Tables["Quiz"].Rows[0][0]).ToString();
    int p = Convert.ToInt32(q_no.Text);
    p += 0;
    q_no.Text = p.ToString();

使用数组随机显示相同RadioButtonList项的顺序

也许您只需要检查页面是否第一次呈现,然后随机化RadioButtonList项。像这样,

private void Page_Load()
{
    if (!IsPostBack)
    {
        // your randomize code
    } else {
        // retrieve the selected item, but don't randomize the items again.
    }
}