0

ドロップダウンリストのアイテムについて、私は次のコードを書きました。

 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

助けが必要 !!!

4

1 に答える 1

0

通常の問題は、ポストバック後にドロップダウンリストでデータバインドを再度作成すると、値が失われることです。そのため、ページの読み込み時に、dropdowndatasrcオン ポスト バックを次のように呼び出さないでください。

if(!IsPostBack)
  dropdowndatasrc();

同じ問題:ドロップダウンリストが値asp.netを選択していません

于 2012-10-11T19:07:13.067 に答える