I have a form onto which I add programatically several controls. This includes Text Boxes, Validators, etc. Here is a section of code that does that adds the controls (AL is a PlaceHolder. RS is a DataReader):
AL.Controls.Add(New LiteralControl("<tr>" & vbCRLF))
AL.Controls.Add(New LiteralControl(" <td align='right' valign='top'>First Name</td>" & vbCRLF))
AL.Controls.Add(New LiteralControl(" <td>" & vbCRLF))
TB = New TextBox
TB.id = "AdvisorFirstName" & RS("ID").ToString
TB.columns = 20
TB.maxlength = 25
TB.Text = RS("FirstName").ToString
  ...
Go to the complete details ...