开发者

cannot see the label content when a item is selected from dynamically added dropdownlist

I have a Dropdownlist (DDL1) when I select any item from this dropdownlist(DDL1), results in creation of another dropdownlist(DDL2), This contains some of the items.When I select other Item from DDL1 , Items will change in DDL2, this happens for the each different item selected in DDL1.

when I 开发者_高级运维select a item from DDL2, label content must be shown, intially I'm making Label invisibe and in the code I changed the visibility to true and added content to it. But the label content is not shown when I select a item from DDL2.

Here is my Code

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (DropDownList1.SelectedValue == "Abe Books")
    {
        DropDownSeller.Visible = true;
        lnkUsdBooks.Visible = true;
        lnkUsdBooks.Text = "usedbooks@abe.com";
        lnkUsdBooks.NavigateUrl = "mailto:usedbook@abe.com";
        DropDownSeller.Visible = true;
        DropDownSeller.Items.Remove("Chacha Choudary");
        DropDownSeller.Items.Remove("SpiderMan");
        DropDownSeller.Items.Remove("Amar chitra Katha");
        DropDownSeller.Items.Remove("Chandamama");
        DropDownSeller.Items.Remove("Mahabharata");
        DropDownSeller.Items.Add("Amar chitra Katha");
        DropDownSeller.Items.Add("Chandamama");
        DropDownSeller.Items.Add("Mahabharata");
        DropDownSeller.DataBind();

            if (DropDownSeller.SelectedValue == "Amar chitra Katha")
            {
                lblPrice.Visible = true;
                lblPrice.Text = "$69.99";
            }
            else if (DropDownSeller.SelectedValue == "Chandamama")
            {
                lblPrice.Visible = true;
                lblPrice.Text = "$59.99";
            }
            else if (DropDownSeller.SelectedValue == "Mahabharata")
            {
                lblPrice.Visible = true;
                lblPrice.Text = "$49.99";
            }
            else
            {
                lblPrice.Visible = false;
            }
        }

Any ideas on this are appreciated

Thanks,


Remove if (!Page.IsPostBack) from the DropDownList1_SelectedIndexChanged because when the page postbacks this condition will be false. Because your page is posting back to the server that's why it is not visible and not showing.

In short your DropDownList1_SelectedIndexChanged should be like..

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    if (DropDownList1.SelectedValue == "Abe Books")
    {
        DropDownSeller.Visible = true;
        lnkUsdBooks.Visible = true;
        lnkUsdBooks.Text = "usedbooks@abe.com";
        lnkUsdBooks.NavigateUrl = "mailto:usedbook@abe.com";
        DropDownSeller.Visible = true;

        DropDownSeller.Items.Clear(); // it will clear all the items, instead you are removing one by one

        DropDownSeller.Items.Add("Amar chitra Katha");
        DropDownSeller.Items.Add("Chandamama");
        DropDownSeller.Items.Add("Mahabharata");
        DropDownSeller.DataBind(); 
    }
    protected void DropDownSeller_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownSeller.SelectedValue == "Amar chitra Katha")
        {
            lblPrice.Visible = true;
            lblPrice.Text = "$69.99";
        }
        else if (DropDownSeller.SelectedValue == "Chandamama")
        {
            lblPrice.Visible = true;
            lblPrice.Text = "$59.99";
        }
        else if (DropDownSeller.SelectedValue == "Mahabharata")
        {
            lblPrice.Visible = true;
            lblPrice.Text = "$49.99";
        }
        else
        {
            lblPrice.Visible = false;
        } 
    }
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜