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 5 let 11 týdnů
před 5 let 11 týdnů
před 5 let 33 týdny
před 5 let 48 týdnů
před 6 let 8 týdnů
před 6 let 17 týdnů
před 6 let 18 týdnů
před 6 let 21 týden
před 6 let 27 týdnů
před 6 let 36 týdnů