DropdownList DataSource

Ali*_*hnn 8 .net c# sql asp.net

大家好,我有关于下拉列表的问题.我正在使用带数据源的下拉列表.我怎样才能获得我选择的那个值?

// I need a if statement here because my programme doesn't know which value of dropdown list selected and I don't know how to use this with datasource.

if(//if I select quiz 1 from dropdown list ,quiz 1 should list questions.)

SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["RegConnectionString"].ConnectionString);

string chooce = "Select Quiz from tblQuiz where Quiz=1 ";
SqlCommand userExist = new SqlCommand(chooce, con);
con.Open();
int temp = Convert.ToInt32(userExist.ExecuteScalar().ToString());

if (temp == 1)
{
    if (rbList.Items[0].Selected == true)
    {
        string cmdStr = "Select Question from tblQuiz where ID=1";
        SqlCommand quest = new SqlCommand(cmdStr, con);
        lblque.Text = quest.ExecuteScalar().ToString();
        con.Close();
    } 
Run Code Online (Sandbox Code Playgroud)

Ars*_*had 31

您可以使用以不同方式绑定DropDownList List, Dictionary, Enum, DataSet DataTable.
主要是你必须在绑定下拉列表的数据源时考虑三件事.

  1. DataSource - 数据集或数据表或数据源的名称
  2. DataValueField - 将隐藏这些字段
  3. DataTextField - 这些字段将显示在dropdwon上.

您可以使用以下代码将下拉列表绑定到数据源,如下所示datatable:

  SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString);

    SqlCommand cmd = new SqlCommand("Select * from tblQuiz", con);

    SqlDataAdapter da = new SqlDataAdapter(cmd);

    DataTable dt=new DataTable();
    da.Fill(dt);

    DropDownList1.DataTextField = "QUIZ_Name";
    DropDownList1.DataValueField = "QUIZ_ID"

    DropDownList1.DataSource = dt;
    DropDownList1.DataBind();
Run Code Online (Sandbox Code Playgroud)

如果你想要选择下拉列表,那么你必须改变AutoPostBack="true"你可以使用SelectedIndexChanged事件来编写代码.

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    string strQUIZ_ID=DropDownList1.SelectedValue;
    string strQUIZ_Name=DropDownList1.SelectedItem.Text;
    // Your code..............
}
Run Code Online (Sandbox Code Playgroud)