DropDownList在从第一个Selection更改时添加额外的ListItems OnSelectedIndexChanged

时间:2013-01-31 20:56:52

标签: c# asp.net .net

我正在构建的WebApp存在一些问题。我有一个DropDownList(productddl),它是从DB填充的。第一个下拉列表的OnSelectedIndexChanged我有第二个DropDownList(versionddl),它是根据第一个productddl的SelectItem.Value填充的。

在绑定productddl后,我插入了“选择产品”,如下所示:

productddl.Items.Insert(0, new ListItem(" - Select Product - ", "0"));

问题是,例如,我第一次选择产品,如果我在下拉菜单中添加第二个“ - 选择产品 - ”后尝试更改产品。如果我不断更改产品,它会不断添加和添加。

如何防止这种情况发生?任何帮助都将非常感激。

以下是如何加载/填充productddl

if (!IsPostBack)
{
        productddl.DataSource = db_GetSet.isp_GetSingle("PRODTCKT", "", "");
        productddl.DataTextField = "pr_product";
        productddl.DataValueField = "pr_product";
        productddl.DataBind();
        productddl.Items.Insert(0, new ListItem(" - Select Product - ", "0"));
}

下面是OnSelectedIndexChanged:

protected void getversion_OnSelect(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        versionddl.DataSource = db_GetSet.isp_GetMulti("VERDDLV", productddl.SelectedItem.Value, "");
        versionddl.DataTextField = "vr_version";
        versionddl.DataValueField = "vr_version";
        versionddl.DataBind();
        productddl.Items.Insert(0, new ListItem("Select Product", "0"));

    }
}

1 个答案:

答案 0 :(得分:2)

在OnSelectedIndexChanged方法中删除productddl.Items.Insert(0, new ListItem("Select Product", "0"));