I have a simple problem. I research on the internet but I could not find clear solution. I have a dropdownlist in may page and I want to display or hide something depends on its selected index changing. I have this code and I am sure this code should work because I wrote many times like this:
<div class="icerik-tablo">
<div>
<h3>Telefon Bilgileri</h3>
<div class="ekle"><a href="javascript:;" onclick="ekle_goster('ekle_telefon')">Ekle</a></div>
<div class="clear"></div>
<div class="pop" id="ekle_telefon" style="display:none;">
<asp:UpdatePanel ID="upTelefon" runat="server">
<ContentTemplate>
<div>
<asp:DropDownList ID="ddlTelefonTipi" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlTelefonTipi_SelectedIndexChanged"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvTelefonTipi" runat="server" ControlToValidate="ddlTelefonTipi" ErrorMessage="*" ValidationGroup="telefonEkle"></asp:RequiredFieldValidator>
<asp:DropDownList ID="ddlTelefonErisimTipi" runat="server" AutoPostBack="true"></asp:DropDownList>
<asp:RequiredFieldValidator ID="rfvTelefonErisimTipi" runat="server" ControlToValidate="ddlTelefonErisimTipi" ErrorMessage="*" ValidationGroup="telefonEkle"></asp:RequiredFieldValidator>
<asp:CheckBox ID="cbTelefonBirincil" runat="server" Text="Birincil Yap" />
</div>
<br /><br />
<div class="islem">
<asp:Button ID="btnTelefonEkle" runat="server" Text="Ekle" />
<a href="javascript:;" onclick="ekle_gizle('ekle_telefon')">İptal</a>
</div>
<div class="clear"></div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
These are my page codes. And the C# codes are here:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TelefonTipiBagla();
TelefonErisimTipiBagla();
}
}
protected void TelefonTipiBagla()
{
ddlTelefonTipi.DataSource = Telefon.StringTelefonTipi;
ddlTelefonTipi.DataBind();
ddlTelefonTipi.Items[0].Value = "";
}
protected void TelefonErisimTipiBagla()
{
ddlTelefonErisimTipi.DataSource = IletisimBaseClass.StringIzinTipi;
ddlTelefonErisimTipi.DataBind();
ddlTelefonErisimTipi.Items[0].Value = "";
}
protected void ddlTelefonTipi_SelectedIndexChanged(object sender, EventArgs e)
{
if ((Telefon.TelefonTipi)ddlTelefonErisimTipi.SelectedIndex == Telefon.TelefonTipi.CepTelefonu || (Telefon.TelefonTipi)ddlTelefonErisimTipi.SelectedIndex == Telefon.TelefonTipi.Faks)
{
string val = ddlTelefonErisimTipi.SelectedValue;
tbTelefonDahili.Visible = false;
lblTelefonTire.Visible = false;
lblTelefonDahili.Visible = false;
}
else
{
string val = ddlTelefonErisimTipi.SelectedValue;
tbTelefonDahili.Visible = true;
lblTelefonTire.Visible = true;
lblTelefonDahili.Visible = true;
}
}
The problem is dropdownlist selected index always come zero(0). So , my code didn't work correctly. Please help me I'm sure I'm missing something. Thanks for your helps.
It is due to the fact that from ddlTelefonTipi_SelectedIndexChanged
all of your casting is on ddlTelefonErisimTipi
, which is the wrong DropDownList
. Change ddlTelefonErisimTipi
to ddlTelefonTipi
.