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
expect
nemá 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í atributusource
nemá 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>