我使用数组随机生成 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 项。像这样的东西,

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

关于c# - 使用数组随机显示相同 RadioButtonList 项的顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31956567/

10-12 00:30
查看更多