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

确保您已OnSelectedIndexChanged为 aspx 页面中的下拉菜单指定事件

<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 回答