Моя цель - щелкнуть по кнопке и создать несколько текстовых полей. Типы пользователей в информации и если есть дополнительная информация (в этом случае разные дома, в которых они могут быть заинтересованы), чтобы ввести. Они продолжают нажимать кнопку добавления и появляются больше полей. Когда они будут сделаны, они нажмут вставку и все вставки данных.Вставьте несколько данных динамического текстового поля в базу данных
Сейчас у меня есть пользователь, который может щелкнуть его один раз и вставить данные, и он работает. У меня возникли проблемы с тем, что у меня есть идентификатор, в котором мне не нужно вводить «txtDynamic1», «txtDyamic2» и т. Д.
Кроме того, параметр @name может только использовать один раз. Поэтому я не понимаю, что единственный способ сделать это - щелкнуть вставить, а затем вытереть данные из текстового поля, и они могут повторно указывать для большего количества.
Я не уверен, что возможно мое представление, где они могли бы щелкнуть, но многие добавляют для текстовых полей, а затем вставляют все это одним нажатием кнопки. У меня есть gridview для этой настройки, но он делает это одновременно. Любая помощь будет так высоко оценена, как я потонул слишком много часов в этом.
Извините, если это не объяснено достаточно ясно, так как мой мозг жарится на этом этапе.
public partial class Sold : System.Web.UI.Page
{
protected void Page_Load(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);
i++;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
int j = 1;
for (j = 1; j < 3; j++)
{
int index = pnl.Controls.OfType<TextBox>().ToList().Count + 1;
this.CreateTextBox("txtDynamic" + index);
}
}
private void CreateTextBox(string id)
{
TextBox txt = new TextBox();
txt.ID = id;
pnl.Controls.Add(txt);
// Literal lt = new Literal();
// lt.Text = "<br />";
// pnl.Controls.Add(lt);
}
protected void Button2_Click(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("INSERT INTO TI_Homes(CustomerID, Year, Make, Size, Owed, Offer, Wholesale) VALUES('1000', @name, @year, '80ft', '100,000', '80,000', 'Wholesale?')"))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@name", (pnl.FindControl("txtDynamic1") as TextBox).Text);
cmd.Parameters.AddWithValue("@year", (pnl.FindControl("txtDynamic2") as TextBox).Text);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
}
}
Просто предложение, но я бы рассмотрел эту клиентскую сторону с помощью javascript. Причина в том, что у вас возникнут проблемы с сохранением состояния. Когда вы нажимаете и добавляете текстовые поля и отправляете их, они исчезнут вместе со своими значениями. Хотя то, что вы делаете, может быть сделано, вы идете по самому сложному пути, чтобы добраться туда. –