-->

Thursday, December 3, 2015

Add multiple TextBox dynamically using Button click in ASP.NET C#

Add multiple TextBox dynamically using Button click in ASP.NET C#

Introduction
In this article, I will show you how to add multiple TextBox by using button click. When we press the button then add TextBox in the panel. Similarly again when we press the button then again TextBox add just after previous one. I will give you an example of add multiple TextBox dynamically in ASP.NET.




Source code

<body>
    <form id="form1" runat="server">
    <div>

    </div>
    </form>
</body>

Code Behind page

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class DynamicallyAdd : System.Web.UI.Page
{
    Panel panelforTextBox;
    protected void Page_Load(object sender, EventArgs e)
    {
        Literal literal;
        Label labelTextBox;

        panelforTextBox = new Panel();
        panelforTextBox.ID = "panelforTextBox";
        panelforTextBox.BorderWidth = 2;
        panelforTextBox.Width = 400;
        this.form1.Controls.Add(panelforTextBox);

        literal = new Literal();
        literal.Text = "<br/>";

        this.form1.Controls.Add(literal);

        labelTextBox = new Label();
        labelTextBox.Text = "Dynamic TextBox <br/>";


        panelforTextBox.Controls.Add(labelTextBox);
        Button addbutton = new Button();
        addbutton.ID = "addbutton";
        addbutton.Text = "Add New TextBox";
        addbutton.Click += new System.EventHandler(clicktoaddTextBox);
        this.form1.Controls.Add(addbutton);

        if (IsPostBack)
        {
            controlcreate("DynamicText", "TextBox");
        }

    }

    private void controlcreate(string p1, string p2)
    {
        string[] controls = Request.Form.ToString().Split('&');
        int count = findcontrolcount(p1);
        if(count>0)
        {
            Literal lit;
            for (int k = 0; k <=count; k++)
            {
                for (int i = 0; i < controls.Length; i++)
                {
                    if (controls[i].Contains(p1+"-"+k.ToString()))
                    {
                        string controlname = controls[i].Split('=')[0];
                        string controlvalue = controls[i].Split('=')[1];
                        controlvalue = Server.UrlDecode(controlvalue);
                        if(p2=="TextBox")
                        {
                            TextBox txt = new TextBox();
                            txt.ID = controlname;
                            txt.Text = controlvalue;
                            panelforTextBox.Controls.Add(txt);
                            lit = new Literal();
                            lit.Text = "<br/>";
                            panelforTextBox.Controls.Add(lit);

                        }
                        break;
                    }
                }
            }
        }
    }

    private void clicktoaddTextBox(object sender, EventArgs e)
    {
        //throw new NotImplementedException();
        Button button = (Button)sender;
        if (button.ID=="addbutton")
        {
            int count = findcontrolcount("DynamicText");
            TextBox text = new TextBox();
            text.ID = "DynamicText-" + Convert.ToString(count + 1);
            panelforTextBox.Controls.Add(text);
            Literal lit = new Literal();
            lit.Text = "<br/>";
            panelforTextBox.Controls.Add(lit);
        }


    }

    private int findcontrolcount(string p)
    {
        //throw new NotImplementedException();
        string str = Request.Form.ToString();
        return ((str.Length - str.Replace(p, "").Length) / p.Length);

    }

}

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved