Při vývoji ASP.NET serverových controlů se musí novému ovládacímu prvku specifikovat, jestli má vnořené elementy považovat za vlastní atributy (např. <asp:DataList> a vnořený element <HeaderStyle />) nebo za potomkovské ovládací prvky (např. <asp:Panel>, který je jen kontejnerem).
ASP.NET pro tuto situaci nabízí dva atributy – PersistChildren a ParseChildren. Ten první je design-time, druhý parse-time. Existuje mezi nimi zajímavý vztah, a to ten, že když je PersistChildren rovno true, mělo by být ParseChildren false a naopak.
Je to prostě taková veselá dvojka :). Nejen že se podle jména prakticky dá jen hádat, co znamená true a co false, ale navíc jsou na sobě oba atributy funkčně závislé, takže by je s klidem mohl nahradit atribut jeden. Navíc Control i WebControl mají každý jinou výchozí hodnotu těchto atributů. Prostě sranda.
No a na závěr něco praktičtějšího:
- ParseChildren(true) znamená, že se děti budou považovat za atributy daného kontrolu (ne za vnořené kontroly). Toto je výchozí u třídy WebControl.
- ParseChildren(false) znamená, že děti jsou vnořenými ovládacími prvky. Toto je výchozí u Controlu.
Aspoň doufám, že jsem to nepoplet :).
před 6 let 9 týdnů
před 6 let 9 týdnů
před 6 let 31 týden
před 6 let 45 týdnů
před 7 let 5 týdnů
před 7 let 14 týdnů
před 7 let 15 týdnů
před 7 let 18 týdnů
před 7 let 25 týdnů
před 7 let 33 týdny