Pole typu <FileCollection>
je kolekcí polí typu <File>
. Pořadí jednotlivých souborů v kolekci lze měnit pomocí drag-and-drop. V .aspx se pole typu <FileCollection>
zpravidla vypísuje pomocí <je:filelink>
vloženého do <je:repeater>
(viz níže uvedený příklad). Ve všem ostatním se shoduje s polem typu <File>
, kde je uveden kompletní popis.
<FileCollection name="filesForDownload" />
Příklady
Mějme v Site.config proměnnou page typu PageWithFiles
, který obsahuje FileCollection
:
<Vars> <Var name="page" type="PageWithFiles" /> </Vars> <Types> <Type name="PageWithFiles"> <FileCollection name="files" /> </Type> </Types>
Kolekce files
obsahuje prvky typu <File>
a pracuje se s ní podobně jako s jakoukoliv jinou kolekcí. Prvky kolekce jsou přístupné pod proměnnou .item
. Výpis seznamu všech souborů ke stažení, včetně ikonky typu a velikostí souborů, by vypadal takto:
<je:repeater runat="server" source="page.files"> <item> <je:filelink runat="server" field=".item "> <je:item runat="server" field=".item.originalName" /> (<je:item runat="server" field=".item.size" />) </je:filelink> </item> </je:repeater>
Řešení klasickou kolekcí
Podobného výsledku můžeme dosáhnout i vlastním typem a kolekcí:
<Type name="PageWithFiles"> <Collection name="files" itemType="FileItem" /> </Type> <Type name="FileItem" defaultOrder="custom"> <File name="item" /> </Type>
Výhodou tohoto přístupu je, že typ FileItem
lze kdykoliv rozšířit o libovolná pole, např. textový popis souboru.