これはよくある問題のようです。私は別のソリューションを試したが、まだ動作していない。これは私のコードです。DropDownList SelectIndexChangedが機能していませんか?
HTML:
<div class="form-group">
<label for="exampleInputEmail1">Artist *</label>
<asp:DropDownList ID="artistDropdown" runat="server" CssClass="form-control" AutoPostBack="True" OnSelectedIndexChanged="artistDropdown_SelectedIndexChanged" ViewStateMode="Enabled"></asp:DropDownList>
<asp:TextBox ID="mytest" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="artistDropdown" SetFocusOnError="true" ErrorMessage="Required Field" Font-Bold="True" Font-Names="Arial" Font-Size="X-Small" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:Label ID="lblMessage" runat="server" CssClass="help-block" Visible="False">Cant select Artist with no Manager</asp:Label>
</div>
機能:私はPage_Load()
機能でDropDownListコントロールを搭載していますし、AutoPostBack="True"
がDropDownListに設定されている
protected void artistDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedArtist = artistDropdown.SelectedValue;
mytest.Text = selectedArtist;
string query = "Select [Manager ID] from Artist Where ID = '" + selectedArtist + "'";
string myConnection = dbController.connectionString;
SqlConnection conn = new SqlConnection(myConnection);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
object obj = cmd.ExecuteScalar();
if (obj is System.DBNull)
{
artistDropdown.SelectedValue = "";
lblMessage.Visible = true;
}
else
{
lblMessage.Visible = false;
}
conn.Close();
}
をOnSelectedIndexChanged。
また、DropDownListからselectedValueに設定されているTextBoxを作成して、OnSelectedIndexChangedが発生しているかどうかを確認しました。しかし、テキストボックスは空のままです。
私は間違っていますか?
「mytest.Text = selectedArtist;」を「mytest.Text = selectedArtist + DateTime.Now.ToString();」に変更するとどうなりますか?私は 'artistDropdown'の' Values'が空であると思われます。 – VDWWD