2012-10-11 2 views
0

저는 C#과 관련하여 초보자입니다. :)생성 된 입력 필드에서 메서드를 호출하는 방법 C#/asp.net

asp.net에서 양식을 만들었으므로 RequiredFieldValidator를 사용하여 유효성을 검사하려고합니다. 제 문제는 입력 필드가 for 루프로 생성된다는 것입니다.

제 질문은 어떻게 이러한 입력 필드의 유효성을 검사 할 수 있습니까, 자바와 같은 '객체를 전달하는'방법이 있습니까?

편집 : 필드가 생성되는 테이블 :

난 내 입력 필드를 생성하는 방법
 <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); 

그러나, 코드 나 당신이 DataTable 또는 DataGrid처럼 바인딩 된 컨트롤을 이동해야한다고 생각합니다. 당신은 귀하의 항목을 templating의 사용 혜택을 누릴 것입니다.

+0

고맙습니다. im은 C#에서 '추가'하는 방식에 익숙하지 않은데, 이것은 아마도 가장 큰 문제입니다. –

관련 문제