Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

 ddlTelefonErisimTipi.Items.Insert(0,"");

this insert empty value in your dropdownlist

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top