<je:container>

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 atribut source.

  • 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í atributu source nemá smysl atribut expect.

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><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>

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.