webForumDet fria alternativet

Kontroll som renderar children

.NET

2 svar · 203 visningar · startad av ZNS

Medlem sedan apr. 200410 inlägg
Frågan#1

Hej.

Jag tyckte att jag ville göra en enkel liten sak, men jag får det inte att fungera! Vad jag vill åstadkomma är helt enkelt en kontroll som ritar en box runt sitt innehåll. Låter enkelt eller hur?

Så jag har gjort en kontroll som har "ParseChildren(false)" och som sedan kör overrride render() där den skapar boxen, loopar igenom Controls och renderar dom inuti boxen.

Problemet är att i min kontroll kan det finnas andra kontroller som skapar egna kontroller dynamiskt. Och då säger min kontroll stopp!

Nån som har några som helst idéer. Har jag tänkt helt fel från början?

Medlem sedan apr. 20012 266 inlägg
#2

Testa att låta Render vara och i stället lägga in en LiteralControl först respektive sist för att skapa din box

this.Controls.Insert(0, new LiteralControl("<div class\"BoxKanske\">"));
this.Controls.Insert(this.Controls.Count, new LiteralControl("<div class\"BoxKanske\">"));
Medlem sedan apr. 200410 inlägg
#3

Det hade man kunnat göra men hade inte blivit lika dynamiskt. Jag lyckades iaf med min kontroll genom att i Render skriva ut min omkringliggande html direkt till writern istället. Så nu funkar den så här.

<MY:Box BoxWidth=100 BoxHeight=100>
Some controls
</MY:Box>

Mycket trevligt :)

246 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)