Naredil sem svoj ToolBar na katerega dodajam gube v kodi. Če to naredim v konstruktorju ToolBara se mi potem, ko ga dam na WepPage kreirajo vsi gumbi na ToolBaru. Pri tem pa se mi pojavita dve vprašanji. Zakaj v aspx kodi ne vidim takoj kode za vse gumbe ampak šele, ko spremenim nek Property? Drugo vprašanje je pa povezano s prvim. Ko stran poženem v browserju se mi vsi itemi (gumbi) kreirajo dvakrat. Če pa vse skupaj kličem na OnPreRender (namesto na konstruktorju) pa potem ne vidim designa. Mi lahko kdo razloži kakšen je pravilen postopek?
Lp,
Matjaž
bojanv - sreda, 24. januar 2007
Prvo vprašanje: za dodajanje dinamično na kontrolo (še posebej, ko delaš z child-reni) je pomembno, da obvestiš parenta, kaj se dogaja z njegovimi "podrejenimi". Uporabi NotifyParent atribut od System.ComponentModel pa bi ti moralo delatu.Drugo vprašanje: zakaj se ti naloži dvakrat, zna biti problem v AutoEventWireUp atributu. Nastavi ga na false in sam izvedi binding eventov z delegati. S tem boš pripomogel, da se ti ne bo izvedla koda dvakrat (ena se izvede v reference tagu, ena pa v normalni kodi...preberi si tale članek pa ti bo jasno....). Postopek je odvisen od tega, v katero smer boš šel. Torej, odloči se za tip kontrole, ali za composite kontrole (ker skupaj skladaš) ali web user kontrole? In slednje, ali želiš design podporo ali ne?