2012-10-11 45 views
0

我是一個新手,當涉及到C#所以忍受我:)。如何調用生成的輸入字段的方法c#/ asp.net

我在asp.net中做了一個表單,我試圖用RequiredFieldValidator來驗證它。 我的問題是輸入字段是用for循環生成的。

我的問題是我如何驗證這些輸入字段,是否有某種方式來'傳遞一個對象'像在java中?

編輯: 其中產生的字段的表:

 <asp:Table id="newPatienttbl" 
     GridLines="Both" 
     HorizontalAlign="Center" 
     Font-Size="8pt" 
     CellPadding="5" 
     CellSpacing="0" 
     Runat="server"/> 

我如何生成我的輸入字段。

 TableRow row = null; 
     TableCell cell = null; 
     TextBox tb = null; 
     foreach (DataColumn column in patientData.Columns) 
     { 
      row = new TableRow(); 
      cell = new TableCell(); 

      if (column.ColumnName.Equals("ZVID")) 
       cell.Text = "Zorgverzekeraar"; 
      else 
       cell.Text = column.ColumnName; 

      row.Cells.Add(cell); 

      cell = new TableCell(); 

      if (!column.ColumnName.Equals("ZVID")) 
      { 
       tb = new TextBox(); 
       cell.Controls.Add(tb); 
      } 
      else 
      { 
       DropDownList dd = new DropDownList(); 
       dd.ID = column.ColumnName; 
       dd.DataSource = zorgData; 
       dd.DataValueField = "ZVID"; 
       dd.DataTextField = "Naam"; 


       dd.DataBind(); 
       cell.Controls.Add(dd); 
      } 

      cell.ID = column.ColumnName+"Cell"; 
      row.Cells.Add(cell); 

      newPatienttbl.Rows.Add(row); 
     } 
+0

請顯示您如何生成字段! –

+0

添加了生成字段的代碼 –

回答

0

你可以像這樣更改代碼:

 string addedControlId; 
     if (!column.ColumnName.Equals("ZVID")) 
     { 
      tb = new TextBox(); 
      tb.Id= column.ColumnName; 
      cell.Controls.Add(tb); 
      addedControlId = tb.Id; 
     } 
     else 
     { 
      DropDownList dd = new DropDownList(); 
      dd.ID = column.ColumnName; 
      dd.DataSource = zorgData; 
      dd.DataValueField = "ZVID"; 
      dd.DataTextField = "Naam"; 


      dd.DataBind(); 
      cell.Controls.Add(dd); 
      addedControlId = dd.Id; 
     } 
     RequiredFieldValidator val = new RequiredFieldValidator{ 

      ControlToValidate = addedControlId, 
      ErrorMessage = "Shame on you, you did not fill this value" 

     } 
     cell.Controls.Add(val); 

然而,你的代碼讓我覺得你應該將數據綁定控件,像DataTableDataGrid。您將受益於使用模板化您的物品。

+0

非常感謝,我不習慣於在c#中添加某些東西的方式,這可能是最大的問題...... –

相關問題