从动态添加的下拉列表中选择项目时,无法查看标签内容

本文关键字:标签 添加 动态 下拉列表 项目 选择 | 更新日期: 2023-09-27 17:57:40

我有一个Dropdownlist(DDL1),当我从这个DropdownlistDDL1中选择任何项目时,会导致创建另一个DropDownlistDDL2,它包含一些项目。当我从DDL1中选择其他项目时,DDL2中的项目将发生变化,DDL1中所选的每个不同项目都会发生这种情况。

当我从DDL2中选择一个项目时,必须显示标签内容,最初我使标签不可见,在代码中我将可见性更改为true并向其添加了内容。但当我从DDL2中选择项目时,标签内容不会显示。

这是我的代码

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;
            }
        }

对此有任何想法都表示赞赏

谢谢,

从动态添加的下拉列表中选择项目时,无法查看标签内容

DropDownList1_SelectedIndexChanged中删除if (!Page.IsPostBack),因为当页面回发时,此条件将为false。因为您的页面正在返回服务器,所以它不可见且不显示。

简而言之,你的DropDownList1_SelectedIndexChanged应该是。。

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;
        } 
    }