Hi,
I want to add dynamically controls to my aspx-Page by using the
Page.parseContr ol-method.
Page_Load contains this code:
str = "<asp:TextB ox runat='server' id='txtEingabe' TextMode='Singl eLine'
/><asp:RequiredF ieldValidator id='req' runat='server'
ControlToValida te='txtEingabe' >Bitte um eine
Eingabe</asp:RequiredFie ldValidator><as p:button runat='server' id='aspbtn'
text='OK'/>"
parsedCtrl = Page.ParseContr ol(str)
Dim i, anzahl As Integer
anzahl = parsedCtrl.Cont rols.Count
myLabel.InnerHt ml = "Number of Controls: " & anzahl.ToString & "<br>" '
output is: 3
myLabel.InnerHt ml &= "1: " & parsedCtrl.Cont rols(0).ToStrin g & "<br>" '
System.Web.UI.W ebControls.Text Box
myLabel.InnerHt ml &= "2: " & parsedCtrl.Cont rols(1).ToStrin g & "<br>" '
System.Web.UI.W ebControls.Requ iredFieldValida tor
myLabel.InnerHt ml &= "3: " & parsedCtrl.Cont rols(2).ToStrin g & "<br>" '
System.Web.UI.W ebControls.Butt on
myForm.Controls .Add(parsedCtrl .Controls(0)) ' OK
myForm.Controls .Add(parsedCtrl .Controls(1)) ' OK
'myForm.Control s.Add(parsedCtr l.Controls(2)) ' creates an error: index out
of bound !!!???
the problem is this line:
myForm.Controls .Add(parsedCtrl .Controls(2))
it creates the error "index out of bound",
but when I test it with: parsedCtrl.Cont rols(2).ToStrin g
I get the answer: "System.Web.UI. WebControls.But ton"
so the index is valid.
What is going on here?
When I omit this line:
myForm.Controls .Add(parsedCtrl .Controls(2))
I get a form with a inputbox and a button without the validator, which work
well.
I don't understand this. Do you?
Thank you
Matthias
ml@mlohrer.de
www.mlohrer.de