Search code examples
c#asp.netc#-4.0webformsdynamic-controls

Can't maintain the dynamic dropdown selected value after postback


Am using the below code to create a multiple drop down list. But i can't able to maintain the previous selected value. Please help me to maintain the previous vaues.

My code is Here:

        for (int i = 1; i <= Count; i++)
        {
            Session["i"] = Count;

            Panel1.Controls.Add(new LiteralControl("<br />"));
            Label lbl = new Label();
            lbl.ID = "lbl" + i;
            lbl.Text = "Head";
            Panel1.Controls.Add(lbl);
            Panel1.Controls.Add(new LiteralControl("&nbsp;&nbsp;&nbsp;&nbsp;"));

            DropDownList ddl = new DropDownList();
            ddl.ID = "ID" + i;
            ddl.DataValueField = "fld_Head";
            ddl.DataTextField = "fld_Head";
            ddl.DataSource = DVS;
            ddl.DataBind();
            Panel1.Controls.Add(ddl);
        }

Solution

  • As I already mentioned here you should init values of you dynamic controls in Page_Init event.

    Because asp.net internal functionality working with viewstate populates values in Page_Load event and if your dynamic control isn't still created it's values are ignored.\

    Common issue =)