2 つのドロップダウンがあります。2 番目のドロップダウンの項目は、最初のドロップダウンで選択した項目にのみ依存します。したがって、最初のドロップダウンからのアイテム選択で2番目のドロップダウンアイテムの変更が必要です。私の最初のドロップダウンは次のとおりです
<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();
上記は期待どおりに機能しますが、2番目のドロップダウンでアイテムを選択した後、選択したアイテムが選択されたとおりに送信されません。デフォルトでは、リストの最初のアイテムを送信します。また、送信ボタンをクリックすると、すぐに更新され、リストの最初の項目が送信されます。私は混乱しています。