按钮单击事件以创建新的asp.net组合框

时间:2015-07-20 10:40:26

标签: c# asp.net .net button combobox

我有一个现有的下拉列表(即ddlA)。在选择一个值时,我得到一个级联下拉列表(ddlB)。要求是,我需要在webform上创建一个按钮。通过单击按钮,我需要动态创建类型为ddlA的下拉列表。但这里是棘手的部分,我需要在此下拉列表中显示所有值,但前面选择的ddlA类型中的选定值除外。

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{ 
    if (!IsPostBack)
    {
        List<DropDownList> DDLList = new List<DropDownList>();
        Session["DDLs"] = DDLList;
    }
    else
    {
        List<DropDownList> existingDropDowns = (List<DropDownList>)Session["DDLs"];
        //Add all existing DropDownLists to Panel
        foreach (DropDownList dropdown in existingDropDowns)
        {
            Panel1.Controls.Add(dropdown);
            dropdown.AutoPostBack = true;
            Panel1.Controls.Add(new LiteralControl("<br/>"));
        }
        Session["DDLs"] = existingDropDowns;
    }
}

这是我的按钮点击事件代码:

protected void ddlAdditionBtn_Click(object sender, EventArgs e)
{
    List<DropDownList> existingDropDowns = (List<DropDownList>)Session["DDLs"];
    DropDownList newDropDown = new DropDownList();
    newDropDown.ID = "DDL" + existingDropDowns.Count.ToString();           
    existingDropDowns.Add(newDropDown);
    Panel1.Controls.Add(newDropDown);
    newDropDown.AutoPostBack = true;
    Panel1.Controls.Add(new LiteralControl("<br/>"));
    Session["DDLs"] = existingDropDowns;
}

以下是将现有下拉列表与数据库连接的代码。

protected void GetDropDowndata()
{
    DataTable ddlData= lookupCache.AccessLookupData(Constants.GroupSelectionFilter.ToString());
    if (ddlData != null && ddlData.Rows.Count > 0)
    {
        ddlData.DefaultView.Sort = "DropDownValue";
        ddlData = groupsData.DefaultView.ToTable();

        ddlSelectGrp.DataSource = ddlData;
        ddlSelectGrp.DataTextField = "DropDownValue";//ddlSelectGrp is the existing dropdown id
        ddlSelectGrp.DataValueField = "DropDownBoxID";
        ddlSelectGrp.DataMember = "DropDownGroup";
        ddlSelectGrp.DataBind();
        ddlSelectGrp.Items.Insert(1, Constants.GroupAll.ToString());
        ddlSelectGrp.SelectedIndex = 1;
        btnGroupSave.Enabled = true;
        btnGroupSave.CssClass = "saveButton";               
    }
}

但是我不知道如何将动态生成的下拉列表与数据源连接起来,而且没有上一个下拉列表中的选定值。

0 个答案:

没有答案