2013-08-08 3 views
0

У меня есть элемент управления, который динамически создает текстовые поля.получить динамический идентификатор текстового поля в asp.net

Для каждого из этих текстовых полей я хочу сделать вставку в базу данных SQL.

Например, у меня есть 3 текстовых поля с идентификатором FlottenID1, FlottenID2, FlottenID3.

Каждый TextBox имеет значение по умолчанию FlottenID, а затем номер 1,2,3,4,5 в зависимости от того, сколько у меня есть.

Теперь мне нужно помощь, как я могу сказать, в моей Петле вставки, что она должна начинаться с введением FlottenID1, а затем в следующий раз он будет FlottenID2 и так далее ...

Моими другими идентификаторов всегда имеет одинаковое имя, так там это не проблема. Там я могу написать только Cust.text. Надеюсь, вы понимаете, что я ищу. Благодаря!

protected void btnGenerateControl_Click(object sender, EventArgs e) 
{ 
     int Count = Convert.ToInt32(Qty.Text); 

     for(int i =1; i <= Count; i++) 
     { 
      Label lbl = new Label(); 
      TextBox txtbox = new TextBox(); 
      lbl.Text = " Flotten ID Velo Nr" + (i).ToString() + " "; 
      //txtbox.Text = "Textbox - " + i.ToString(); 
      txtbox.ID = "FlottenID" + i.ToString(); 
      txtbox.EnableViewState = true; 
      pnlTextBoxes.Controls.Add(lbl); 
      pnlTextBoxes.Controls.Add(txtbox); 
      pnlTextBoxes.Controls.Add(new LiteralControl("<br /><br />")); 
     } 
    } 

protected void btnAddOrder_Click(object sender, EventArgs e) 
{ 
     int Count = Convert.ToInt32(Qty.Text); 
     for (int i = 1; i <= Count; i++) 
     { 

      String query = "insert into Orders (CustID, OrderDate, Time, ProductID, ProjectID, Status, FlottenID)values('" + CustID.Text + "','" + OrderDate.Text + "','" + Time.Text + "','" + ProductID.Value + "','" + ProjectID.Value + "','" + Status.Value + "','" + " FlottenID " + "')"; 
      String query1 = "commit;"; 
      DataLayer.DataConnector dat = new DataLayer.DataConnector("Provider=SQLOLEDB; data source=****;database=***;user ID=event;password=****; Persist Security Info=False"); 
      dat.DataInsert(query); 
      dat.DataInsert(query1); 
     } 
} 
+1

[SQL Injection alert] (http://msdn.microsoft.com/en-us /library/ms161953%28v=sql.105%29.aspx) - вы должны * * не ** объединить ваши SQL-предложения - используйте ** параметризованные запросы **, чтобы избежать SQL-инъекций –

ответ

0

Я думаю, что вы спросили тот же вопрос, который я дал решение that.Anyway я даю код сейчас ..

Написать код ниже в btnGenerateControl_Click1 Event (ниже For Loop)

pnlTextBoxes.Controls.Add(new LiteralControl("<input id='txtbox' name='FlottenID" + i + "'type='text' />")); 
     pnlTextBoxes.Controls.Add(new LiteralControl("<br />")); 

Это генерирует идентификаторы TextBox Like (FlottenID1, FlottenID2, .......... на основе For Loop)

Смежные вопросы