如何获取所选单选按钮列表项的值

本文关键字:列表 单选按钮 何获取 获取 | 更新日期: 2023-09-27 18:00:11

如何从下面的代码中获取选定的单选按钮值

protected void Page_Load(object sender, EventArgs e)
{
     string query="select top 0.1 percent Title, Answer1, Answer2, Answer3, Answer4 from [Question] order by newid()" ;
     SqlCommand cmd=new SqlCommand(query,con);
     con.Open();
     SqlDataReader dr=cmd.ExecuteReader();
     if(dr.Read())
     {
         rbList1.Items.Add(dr[0].ToString());
         rbList1.Items.Add(dr[1].ToString());
         rbList1.Items.Add(dr[2].ToString());
         rbList1.Items.Add(dr[3].ToString());
     }
     else
     {
         MessageBox.Show("Some Proble Occure !");
     }
     con.Close();
}

如何获取所选单选按钮列表项的值

试试这些

rbList1.SelectedIndex // Gets the index of the currently selected item

rbList1.SelectedItem // Gets the currently selected item

rbList1.SelectedValue // Gets the value of the currently selected item

首先给出一些建议:

  • 不要在每次回发时从Page_Load数据绑定RadioButtonList,请检查IsPostBack属性,否则不会触发事件,也不会获得所选项目
  • 对实现IDisposable的任何内容使用using-语句,尤其是在System.Data命名空间中,以确保所有非托管资源(如连接)都已释放/关闭
  • 使用DbDatareader的适当方法,如GetIntGetString,而不是对所有字段使用ToString(如果字段为null,也会引发异常)

string query = "select top 0.1 percent Title, Answer1, Answer2, Answer3, Answer4 from [Question] order by newid()";
using (var con = new SqlConnection("YourConnectionString"))
using (var cmd = new SqlCommand(query, con))
{
    con.Open();
    using (var dr = cmd.ExecuteReader())
    {
        if (dr.Read())
        {
             rbList1.Items.Add(dr.GetString(0));
             rbList1.Items.Add(dr.GetString(1));
             rbList1.Items.Add(dr.GetString(2));
             rbList1.Items.Add(dr.GetString(3));
        }
    }
}

对于你的问题:我不知道,因为你没有提到实际的问题。

如何从下面的代码中获得选定的单选按钮值

然后处理RadioButtonListSelectedIndexChanged-事件。