Hallo,
Ik heb een masterpage met daarop 3 custom controls.
Nu probeer ik vanuit mijn pagina die controls te vinden in de control collection.
Ze lijken echter niet te bestaan in de controlcollection.
voorbeeld:
OnInit event van page:
dit levert op:
System.Web.UI.LiteralControl
System.Web.UI.HtmlControls.HtmlHead
System.Web.UI.LiteralControl
System.Web.UI.HtmlControls.HtmlForm
System.Web.UI.LiteralControl
Ik bedacht me toen dat ik misschien in de NamingContainer van de masterpage moest gaan zoeken:
Dit levert echter ASP.templates_contentpage_master op.
Roep ik echter een findControl aan:
Dan wordt hij wel gevonden. Ik wil echter Dynamisch bepalen welke controls op mijn masterpage staan. Kan dit? Waarom werkt dit niet?
Alvast bedankt!
Ik heb een masterpage met daarop 3 custom controls.
Nu probeer ik vanuit mijn pagina die controls te vinden in de control collection.
Ze lijken echter niet te bestaan in de controlcollection.
voorbeeld:
OnInit event van page:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| ControlCollection coll = this.Controls; foreach (Control c in coll) { MasterPage m = (MasterPage)c; ControlCollection coll2 = m.Controls; foreach (Control c2 in coll2) { Response.Write("<li>" + c2.ToString() + "</li>"); } } |
dit levert op:
System.Web.UI.LiteralControl
System.Web.UI.HtmlControls.HtmlHead
System.Web.UI.LiteralControl
System.Web.UI.HtmlControls.HtmlForm
System.Web.UI.LiteralControl
Ik bedacht me toen dat ik misschien in de NamingContainer van de masterpage moest gaan zoeken:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
| ControlCollection coll = this.Controls; foreach (Control c in coll) { MasterPage m = (MasterPage)c; ControlCollection coll2 = m.NamingContainer.Controls; foreach (Control c2 in coll2) { Response.Write("<li>" + c2.ToString() + "</li>"); } } |
Dit levert echter ASP.templates_contentpage_master op.
Roep ik echter een findControl aan:
C#:
1
| CCI.SimpleTextControl simple = (CCI.SimpleTextControl)m.FindControl("text1"); |
Dan wordt hij wel gevonden. Ik wil echter Dynamisch bepalen welke controls op mijn masterpage staan. Kan dit? Waarom werkt dit niet?
Alvast bedankt!
Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...