👋 Nový obsah na borekb.cz

Info Tento blog je v "read-only módu" a nový obsah již nebude přibývat. O vývoji píšu na DevBlog.

PersistChildren a ParseChildren aneb trochu zmatku neuškodí

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(tru­e) 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(fal­se) 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 :).

Zařazeno do kategorií |

Komentáře jsou uzavřeny (blog je v read-only módu). Pokud mě chcete kontaktovat, můžete mailem.