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 14 týdnů
před 6 let 14 týdnů
před 6 let 36 týdnů
před 6 let 51 týden
před 7 let 11 týdnů
před 7 let 20 týdnů
před 7 let 21 týden
před 7 let 24 týdny
před 7 let 30 týdnů
před 7 let 39 týdnů