我试图将数据加载到文本框,同时选择下拉列表,我创建了一个用于检索的类,并在下拉列表中调用它选择索引已更改。但我无法得到我想要的答案。如果我在按钮点击事件中调用了该类,它已正常工作。所以请纠正我。我弄错了什么。这就是我的代码:
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();
}
答案 0 :(得分:2)
您应该在Mcodeddl_SelectedIndexChanged
方法中设置断点以查看是否触发了事件,同时确保在下拉列表定义中包含AutoPostBack="true"
答案 1 :(得分:1)
确保为aspx页面中的下拉列表指定了OnSelectedIndexChanged
事件
<asp:DropDownList ID="Mcodeddl" runat="server"
OnSelectedIndexChanged= "Mcodeddl_SelectedIndexChanged">
</asp:DropDownList>
还使用parameterized SQL查询。
PS。您的SO();
是一种方法,而不是一个类。
答案 2 :(得分:1)