Как динамически создавать текстовые поля с помощью ASP.NET, а затем сохранять их значения в базе данных?
Я создаю сайт опроса. Я хочу добавить текстовые поля динамически, а затем получить их значения в базе данных.
Теперь предположим, что я выбираю 4 текстовых поля из выпадающего списка, чтобы быть там динамически.
Код на подбор по выпадающему:
protected void NumDropDown_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.SelectedValue == "TextBox")
{
int j;
i = int.Parse(NumDropDown.SelectedValue);
Session["i"] = i;
switch (i)
{
case 1:
t = new TextBox[i];
Session["textBox"] = t;
for (j = 0; j < i; j++)
{
t[j] = new TextBox();
t[j].ID = "txtCheckbox" + j.ToString();
Panel1.Controls.Add(t[j]);
}
break;
case 2:
t = new TextBox[i];
Session["textBox"] = t;
for (j = 0; j < i; j++)
{
t[j] = new TextBox();
t[j].ID = "txtCheckbox" + j.ToString();
Panel1.Controls.Add(t[j]);
}
break;
case 3:
t = new TextBox[i];
Session["textBox"] = t;
for (j = 0; j < i; j++)
{
t[j] = new TextBox();
t[j].ID = "txtCheckbox" + j.ToString();
Panel1.Controls.Add(t[j]);
}
break;
case 4:
t = new TextBox[i];
List<TextBox> MyTextBoxes;
for (j = 0; j < i; j++)
{
t[j] = new TextBox();
t[j].ID = "txtCheckbox" + j.ToString();
Panel1.Controls.Add(t[j]);
try
{
MyTextBoxes = (List<TextBox>)Session["AddedTextBox"];
MyTextBoxes.Add(t[j]);
Session["AddedTextBox"] = MyTextBoxes;
}
catch
{
MyTextBoxes = new List<TextBox>();
MyTextBoxes.Add(t[j]);
Session["AddedTextBox"] = MyTextBoxes;
}
}
break;
}
}
}
2) Затем здесь я ввел значения в textBox как a, b, c, d и нажал ADD:
Код для клика На ДОБАВИТЬ Клик:
1) Сначала я проверил сессию на Page_Init:
protected void Page_Init(object sender, EventArgs e)
{
if (Session["AddedTextBox"] != null)
{
string a;
string b;
string c;
string d;
int listCount = ((List<TextBox>)Session["AddedTextBox"]).Count;
foreach (TextBox t in ((List<TextBox>)Session["AddedTextBox"]))
{
if (listCount == 1)
{
}
if (listCount == 2)
{
}
if (listCount == 3)
{
}
if (listCount == 4)
{
if (t.ID == "txtCheckbox0")
{
a = t.Text;
}
if (t.ID == "txtCheckbox0")
{
b = t.Text;
}
if (t.ID == "txtCheckbox0")
{
c = t.Text;
}
if (t.ID == "txtCheckbox0")
{
d = t.Text;
}
}
}
}
Но проблема здесь в том, что я не получаю текстовые значения, они кажутся пустыми. Пожалуйста, помогите мне решить эту проблему.