Control slouží pro určení vlastní kontejnerové proměnné, nebo pro odchycení proměnné předané v URL. Podrobněji viz Kontejnerování.
Určení vlastní kontejnerové proměnné:
<je:container runat="server" source="someVariable">
...
</je:container>
V případě odchycení proměnné předané v URL:
<je:container runat="server" expect="someCollection">
...
</je:container>
Atributy
bindTo nepovinný [firstVar, secondVar, thirdVar, fourthVar]
Je-li stránce předáno více proměnných, atribut určuje, která z nich danému containeru náleží. Má smysl jen při použití atributu
expect. Příklad viz<je:avar>.container nepovinný [id containeru]
ID containeru, který určuje kontejnerovou proměnnou controlu (viz Kontejnerování). Má smysl pouze při použití atributu
source, ve kterém je uvedena relativní proměnná – pak určuje, od kterého kontejneru se tato relativní proměnná odvozuje. (To se hodí v situacích, kdy je v sobě zanořeno více kontejnerů.)expect někdy povinný [jméno kolekce]
Jméno kolekce, z níž má pocházet proměnná, pokud je control použit pro odchycení proměnné předané v URL stránky. Jméno kolekce je třeba zadat absolutně, více viz Kontejnerování. Pokud předaná proměnná neexistuje nebo není z uvedené kolekce, JellyPot uživateli zobrazí chybovou stránku 404 a do logu zapíše přesnější informace. Při použití atributu
expectnemá smysl atributsource.id nepovinný [string]
Identifikátor, pomocí kterého se na
<je:container>dá odkazovat z atributů container vložených controlů. Identifikátor musí být v rámci stránky (včetně použitých uživatelských controlů) unikátní. Doporučuje se, aby identifikátor začínal písmenem a obsahoval jen písmena bez diakritik a číslice.source někdy povinný [jméno proměnné]
Určuje proměnnou kontejneru, která bude použita pro controly uvnitř
<je:container>, bez ohledu na případnou proměnnou předanou v URL. Proměnná může být uvedena jak absolutně, tak relativně vzhledem k nadřazenému kontejneru, existuje-li. Více viz Kontejnerování. Při použití atributusourcenemá smysl atributexpect.
Příklad
Určení vlastní kontejnerové proměnné
Vlastní kontejnerovou proměnnou určíme pomocí atributu source. Potom:
<je:container runat="server" source="somePage">
<je:item runat="server" field=".title" />
<je:item runat="server" field=".text" />
</je:container>
je ekvivalentní s
<je:item runat="server" field="somePage.title" /> <je:item runat="server" field="somePage.text" />
Podobně lze control použít na i na prvek kolekce:
<je:container runat="server" source="someCollection[0]">
<je:item runat="server" field=".title" />
<je:item runat="server" field=".text" />
</je:container>
Odchycení proměnné
Nejprve na přehledové stránce pomocí <je:repeater> a <je:aVar> vypíšeme odkazy obsahující proměnné v URL:
/cs/some-collection-list.aspx
<je:repeater runat="server" source="someCollection">
<item>
<je:rpLink runat="server" href="/cs/some-page.aspx">
<je:item runat="server" field=".title" />
</je:rpLink>
</item>
</je:repeater>
Ve stránce předanou proměnnou pak odchytíme:
/cs/some-page.aspx
<je:container runat="server" expect="someCollection">
<je:item runat="server" field=".title" />
<je:item runat="server" field=".text" />
</je:container>