繁体   English   中英

要显示基于下拉列表中所选项目的控件?

[英]To Display controls based on the dropdownlist selected item?

对于Dropdownlist项目,我编写了以下代码:

 protected void dropdowndatasrc()
{
    con = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
    string command = "select eventname from Events";
    cmd = new OleDbCommand(command);
    dataadapter = new OleDbDataAdapter(command, con);
    DataSet dataset = new DataSet();
    con.Open();
    DataTable dt = new DataTable("PayEvent");
    dataadapter.Fill(dt);
    DropDownList4.DataSource = dt;
    DropDownList4.DataTextField = dt.Columns[0].ToString();
  //  DropDownList4.DataValueField = dt.Columns[0].ToString();
   DropDownList4.DataBind();
}

我必须基于下拉列表的值显示控件(在访问数据库中,有一个名为payevent的列,如果数据库中的选定项为“是”,则它具有“是/否”数据类型,这意味着如果没有控件,则显示控件)显示)

我已经尝试过此代码,但是没有用

protected void DropDownList4_SelectedIndexChanged(object sender, EventArgs e)
{

    TextBox11.Text = DropDownList4.SelectedItem.Text;
    con = new OleDbConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
    string query = "select payevent from Events where  eventname=@dropdownlist";
    con.Open();
    //string query="select payevent from Events";
    cmd = new OleDbCommand(query, con);
    cmd.Parameters.Add("@dropdownlist", selectedtext);
    OleDbDataReader reader = cmd.ExecuteReader();

    while (reader.Read())
    {
        string value = reader.GetValue((0)).ToString();
        TextBox11.Text = value.ToString();
        if (value == "True" || value == "true")
        { pnl.Visible = false; }
        else if (value == "False" || value == "false")
        { pnl.Visible = true; }



    }
}

表结构如下:

**eventname             payevent**
Work Shop       Yes
emsisoft workshop   Yes
ECE             No
CSE             No

需要帮忙 !!!

通常的问题是您在回发后再次在下拉列表中进行数据绑定,并且值丢失。 因此,在页面加载时,请勿在回发时调用dropdowndatasrc ,因为:

if(!IsPostBack)
  dropdowndatasrc();

相同的问题: 下拉列表未选择值asp.net

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM