Hi yaswanth12,
Please refer below sample.
HTML
<asp:Panel ID="pnlTextBoxes" runat="server">
</asp:Panel>
<hr />
<asp:Button ID="btnAdd" runat="server" Text="Add New" OnClick="AddTextBox" />
<asp:Button ID="btnGet" runat="server" Text="Save Values" OnClick="GetTextBoxValues" />
Namespaces
C#
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Configuration;
VB.Net
Imports System.Data.SqlClient
Code
C#
protected void Page_PreInit(object sender, EventArgs e)
{
List<string> keys = Request.Form.AllKeys.Where(key => key.Contains("txtDynamic")).ToList();
int i = 1;
foreach (string key in keys)
{
this.CreateTextBox("txtDynamic" + i, "ddlDynamic" + i);
i++;
}
}
protected void AddTextBox(object sender, EventArgs e)
{
int index = pnlTextBoxes.Controls.OfType<TextBox>().ToList().Count + 1;
int fruits = pnlTextBoxes.Controls.OfType<DropDownList>().ToList().Count + 1;
this.CreateTextBox("txtDynamic" + index, "ddlDynamic" + fruits);
}
private void CreateTextBox(string id, string fruits)
{
TextBox txt = new TextBox();
txt.ID = id;
pnlTextBoxes.Controls.Add(txt);
DropDownList ddl = new DropDownList();
ddl.ID = fruits;
ddl.Items.Add(new ListItem("Select", "0"));
ddl.Items.Add(new ListItem("Mango", "1"));
ddl.Items.Add(new ListItem("Grapes", "2"));
ddl.Items.Add(new ListItem("Orange", "3"));
pnlTextBoxes.Controls.Add(ddl);
Literal lt = new Literal();
lt.Text = "<br />";
pnlTextBoxes.Controls.Add(lt);
}
protected void GetTextBoxValues(object sender, EventArgs e)
{
string name = "";
string selectdeValue = "";
foreach (TextBox textBox in pnlTextBoxes.Controls.OfType<TextBox>())
{
name += textBox.Text + ",";
}
foreach (DropDownList ddl in pnlTextBoxes.Controls.OfType<DropDownList>())
{
selectdeValue += ddl.SelectedItem.Text + ",";
}
string removeCommaName = name.Remove(name.Length - 1);
string removeCommaSelected = selectdeValue.Remove(selectdeValue.Length - 1);
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Insert Into tblName(Name, Fruits) Values(@Name,@Fruits)", con))
{
cmd.Parameters.AddWithValue("@Name", removeCommaName);
cmd.Parameters.AddWithValue("@Fruits", removeCommaSelected);
cmd.ExecuteNonQuery();
}
}
}
VB.Net
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreInit
Dim keys As List(Of String) = Request.Form.AllKeys.Where(Function(key) key.Contains("txtDynamic")).ToList()
Dim i As Integer = 1
For Each key As String In keys
Me.CreateTextBox("txtDynamic" & i, "ddlDynamic" & i)
i += 1
Next
End Sub
Protected Sub AddTextBox(ByVal sender As Object, ByVal e As EventArgs)
Dim index As Integer = pnlTextBoxes.Controls.OfType(Of TextBox)().ToList().Count + 1
Dim fruits As Integer = pnlTextBoxes.Controls.OfType(Of DropDownList)().ToList().Count + 1
Me.CreateTextBox("txtDynamic" & index, "ddlDynamic" & fruits)
End Sub
Private Sub CreateTextBox(ByVal id As String, ByVal fruits As String)
Dim txt As TextBox = New TextBox()
txt.ID = id
pnlTextBoxes.Controls.Add(txt)
Dim ddl As DropDownList = New DropDownList()
ddl.ID = fruits
ddl.Items.Add(New ListItem("Select", "0"))
ddl.Items.Add(New ListItem("Mango", "1"))
ddl.Items.Add(New ListItem("Grapes", "2"))
ddl.Items.Add(New ListItem("Orange", "3"))
pnlTextBoxes.Controls.Add(ddl)
Dim lt As Literal = New Literal()
lt.Text = "<br />"
pnlTextBoxes.Controls.Add(lt)
End Sub
Protected Sub GetTextBoxValues(ByVal sender As Object, ByVal e As EventArgs)
Dim name As String = ""
Dim selectdeValue As String = ""
For Each textBox As TextBox In pnlTextBoxes.Controls.OfType(Of TextBox)()
name += textBox.Text & ","
Next
For Each ddl As DropDownList In pnlTextBoxes.Controls.OfType(Of DropDownList)()
selectdeValue += ddl.SelectedItem.Text & ","
Next
Dim removeCommaName As String = name.Remove(name.Length - 1)
Dim removeCommaSelected As String = selectdeValue.Remove(selectdeValue.Length - 1)
Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
Using con As SqlConnection = New SqlConnection(constr)
Using cmd As SqlCommand = New SqlCommand("Insert Into tblName(Name, Fruits) Values(@Name,@Fruits)", con)
cmd.Parameters.AddWithValue("@Name", removeCommaName)
cmd.Parameters.AddWithValue("@Fruits", removeCommaSelected)
cmd.ExecuteNonQuery()
End Using
End Using
End Sub