2017-03-29 14 views
0

私は4つのテキストボックスの行を作成するいくつかのコードを持っています。これらの4つのテキストボックスからのデータは、SQLクエリを作成するために結合され、実行されます。行を追加するボタンは、無限に時間を置くことができます。私は自分のIDを生成するので、最初のクリックしたテキストボックスはtxtBox1Row1であり、次に2番目のクリックはtxtBox1Row2などです。動的に作成されたテキストボックスとビルド文字列からデータを取得する方法

これで、各行からデータを取得してSQLクエリを作成する方法が必要です。繰り返すだけで、ループごとに各行の4つのテキストボックスのデータが必要になります(これをどのように行う必要があるかを想定しています)。

これを行うにはどうすればよいですか?

ありがとう、助けは常に高く評価されます。私はこのようにする予定でした:

 foreach (Control c in pnlArea.Controls) 
     { 
      if (c.ID.Contains("ddlArea")) 
      { 
       area.Add(((DropDownList)c).SelectedValue); 
      } 
      if (c.ID.Contains("txtArea")) 
      { 
       areaOther.Add(((TextBox)c).Text); 
      } 
      if (c.ID.Contains("ddHazard")) 
      { 
       hazard.Add(((DropDownList)c).SelectedValue); 
      } 
      if (c.ID.Contains("txtHazard")) 
      { 
       hazardOther.Add(((TextBox)c).Text); 
      } 
      if (c.ID.Contains("txtHazardDesc")) 
      { 
       hazardDesc.Add(((TextBox)c).Text); 
      } 
      if (c.ID.Contains("txtActionDesc")) 
      { 
       actionDesc.Add(((TextBox)c).Text); 
      } 
      if (c.ID.Contains("calDueDate")) 
      { 
       dueDate.Add(((Calendar)c).SelectedDate); 
      } 
     } 
+1

テキストボックスをフォームにカプセル化して投稿し、フォームコレクションからデータを抽出します。 – Nkosi

+0

ねえ、私はあまりそれを行う方法がわかりません。 asp.netにはフォーラムタグが1つしかないと思った?私のページのほとんどは私の周りにあります。 –

+0

あなたはすでにフォームを持っているからです。ポストリクエストを調べると、投稿されたデータのテキストボックスの値が見つかるはずです – Nkosi

答えて

2

あなたは、テキストボックス 'area'をフォームにカプセル化したいと思っています。

私がお勧めするのは、フォーム内の各テキストボックスをループして辞書に格納することです。そして、あなたはあなたのSQL文字列を構築するために辞書をループことができるだろう

Dictionary<string, string> textBoxVals = new Dictionary<string, string>(); 

Control form = this.FindControl("form1") as Control; 

TextBox tb; 

foreach (Control c in form.Controls) 
{ 
    if (c.GetType() == typeof(TextBox)) 
    { 
     tb = c as TextBox; 
     textBoxVals.Add(tb.ID, tb.Text); 
    } 
} 

:ここ

はそれがどのように見えるかです。辞書には、コントロールの動的名とテキストボックスの値の両方が含まれます。

投稿したコードに基づいて、各行に関連付けられている可能性のある他のコントロールがあるようです。その場合、foreachループ内に別のifステートメントを作成して、異なるコントロールタイプを処理して、それらの適切なパラメータを保存することができます。

私は役立つことを願っています。

関連する問題