0

ドロップダウンリストを選択しているときに、データをテキストボックスにロードしようとしましたが、検索用のクラスが作成され、ドロップダウンリストで選択されたインデックスが変更されました。しかし、私は私が望む答えを得ることができません。ボタンクリックイベントでクラスを呼び出した場合、正しく機能しました。だから私を修正してください。私が間違えたもの。これは私のコードです:

public void so()
    {
        con.Open();
        string s2;
        s2 = "select Source from tbl_component where Componetcode='" + Mcodeddl.SelectedItem.Text + "'";
        SqlCommand c2 = new SqlCommand(s2, con);
        SqlDataReader d2;
        d2 = c2.ExecuteReader();
        while (d2.Read())
        {
            TextBox1.Text = d2["Source"].ToString().Trim(); 

        }
        d2.Close();
        con.Close();
    }

//i have called the so class here

 protected void Mcodeddl_SelectedIndexChanged(object sender, EventArgs e)
    {
        so();   
    }
4

3 に答える 3

2

メソッド内にブレークポイントを設定して、イベントがトリガーされたかどうかを確認する必要があります。また、ドロップダウンリストの定義にMcodeddl_SelectedIndexChanged必ず含めてください。AutoPostBack="true"

于 2012-06-20T07:07:59.213 に答える
1

OnSelectedIndexChangedaspxページのドロップダウンにイベントを指定していることを確認してください

<asp:DropDownList ID="Mcodeddl" runat="server" 
    OnSelectedIndexChanged= "Mcodeddl_SelectedIndexChanged">
</asp:DropDownList>

パラメータ化されたSQLクエリも使用します。

PS。あなたSO(); はクラスではなくメソッドです。

于 2012-06-20T07:02:35.677 に答える
1

私は答えを得ました。そして、私は正確に何をしたかを詳しく説明しました。 「AutoPostBack=True に設定」

于 2012-06-20T07:12:32.753 に答える