根据选择C#更改下拉列表

时间:2013-11-23 16:18:53

标签: c# mysql asp.net drop-down-menu onselect

我有2个下拉列表ddlcountryDdPetPistddlcountry在MYSQL数据库中有自己的表,所以剂量为DdPetPist,我希望ddlcounty选择更改填充DdPetPist的表。所以将表从UK_Animals更改为France_Animals。或者`Germany_Animals。

填充下拉列表的代码

protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                MySqlCommand cd2 = new MySqlCommand("SELECT * FROM Country", cs); // need to make it so changes database
                cs.Open();
                MySqlDataReader ddlCountry = cd2.ExecuteReader();
                ddlcountry.DataSource = ddlCountry;
                ddlcountry.DataValueField = "Country";
                ddlcountry.DataTextField = "Country";
                ddlcountry.DataBind();
                cs.Close();
                cs.Dispose();

                MySqlCommand cd = new MySqlCommand("SELECT * FROM UK_Animals", cs);
                cs.Open();
                MySqlDataReader ddlSpecie = cd.ExecuteReader();
                DdPetPist.DataSource = ddlSpecie;
                DdPetPist.DataValueField = "Specie";
                DdPetPist.DataTextField = "Specie";
                DdPetPist.DataBind();
                cs.Close();
                cs.Dispose();
            }

选择更改ddlcountry

 protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
    {

    }  

如果有人能提供帮助,接力会欣赏它。

2 个答案:

答案 0 :(得分:2)

希望我理解正确:

protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
  if(ddlcountry.Text!=string.Empty)
  {
      MySqlCommand cd = new MySqlCommand(string.Format("SELECT * FROM {0}_Animals",ddlcountry.Text), cs);
      cs.Open();
      MySqlDataReader ddlSpecie = cd.ExecuteReader();
      DdPetPist.DataSource = ddlSpecie;
      DdPetPist.DataValueField = "Specie";
      DdPetPist.DataTextField = "Specie";
      DdPetPist.DataBind();
      cs.Close();
      cs.Dispose();
  }
}  

答案 1 :(得分:2)

试试这个

我假设ddlcountry包含与表名完全相同的国家名称。(即英国,法国等)和表名(UK_Animals,France_Animals)

protected void ddlcountry_SelectedIndexChanged(object sender, EventArgs e)
{
    string country = ddlcountry.SelectedValue;
    string query =  "SELECT * FROM "+ country + "_Animals";   

     MySqlCommand cd = new MySqlCommand(query, cs);
     cs.Open();
     MySqlDataReader ddlSpecie = cd.ExecuteReader();
     DdPetPist.DataSource = ddlSpecie;
     DdPetPist.DataValueField = "Specie";
     DdPetPist.DataTextField = "Specie";
     DdPetPist.DataBind();
     cs.Close();
     cs.Dispose();
}