Thursday, 25 August 2011

Adding dynamic controls to ASP.NET Pages

protected void Page_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < this.DynamicControlCounter; i++)
        {
            this.AddControl(i, i.ToString());
        }
    }
protected virtual int DynamicControlCounter
  {
      get
        {
            object viewState = this.ViewState["DynamicControlCounter"];
            return (viewState == null) ? 0 : (int)viewState;
        }
        set
        {
            this.ViewState["DynamicControlCounter"] = value;
        }
    }
protected void AddControl(int controlNumber, string labelText)
    {
        // Create the Control...
        TextBox  dynamictext = new TextBox();

        // Set some properties...
        dynamictext.ID = "dynamictext_" + controlNumber.ToString();
        DropDownList dynamicddl = new DropDownList();
        dynamicddl.ID = "dynamicddl_" + controlNumber.ToString();

        // If not the first control, add a line break...
        if (this.PlaceHolder1.Controls.Count > 0)
            this.PlaceHolder1.Controls.Add(new LiteralControl("<br>"));

        // Add the Control to a PlaceHolder...
        this.PlaceHolder1.Controls.Add(dynamictext);
        if (this.PlaceHolder1.Controls.Count > 0)
            this.PlaceHolder1.Controls.Add(new LiteralControl("&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp"));
        this.PlaceHolder1.Controls.Add(dynamicddl);
       
    }
protected void btnadd_Click(object sender, EventArgs e)
    {
        this.AddControl(this.DynamicControlCounter, this.DynamicControlCounter.ToString());
        this.DynamicControlCounter++;
    }

No comments:

Post a Comment