我有两个下拉列表,第二个下拉列表中的项目仅取决于第一个下拉列表中的选定项目。因此,我希望从第一个下拉列表中对项目选择进行第二个 dropdows 项目更改。我的第一个下拉菜单如下
<td>
<asp:DropDownList ID="DropClient" runat="server" style="margin-left: 0px" AutoPostBack="true" Width="200px" OnTextChanged="DropClient_TextChanged">
</asp:DropDownList> </td>
<td>
我以前想使用 onselectedindexchanged ,但它没有按要求触发。因此,我将我的方法放在 onTextChanged 事件中,如下所示。
protected void DropClient_TextChanged(object sender, EventArgs e)
{
bindDrEmail();
}
和我的 bindEmail();
connection.Open();
string sql = "SELECT a.clientID,a.cname,c.name FROM [CLIENT] a INNER JOIN [BRANCH] b ON a.clientID=b.clientID JOIN [CONTACT] c ON b.bid=c.bid WHERE a.cname =@clientname";
SqlCommand cmd = new SqlCommand(sql, connection);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@clientname", DropClient.SelectedItem.Text);
SqlDataReader reader = cmd.ExecuteReader();
drEmail.Enabled = true;
drEmail.DataSource = reader;
drEmail.DataTextField = "name";
drEmail.DataValueField = "clientID";
drEmail.DataBind();
reader.Dispose();
reader.Close();
connection.Close();
以上按预期工作,但是在我在第二个下拉列表中选择一个项目后,它不会按选择提交所选项目。它默认提交列表中的第一项。此外,当我单击提交按钮时,它会快速刷新并提交列表中的第一项。我很困惑,任何帮助将不胜感激。