Control slouží pro vytváření dynamických odkazů. Dynamický odkaz je takový odkaz, ke kterému je připojena proměnná, zpravidla příslušná aktuální položce v controlu <je:repeater>
. Takto předanou proměnnou na cílové stránce zpravidla přebírá <je:container>
.
<je:aVar runat="server" href="/cs/page.aspx"> <je:item runat="server" field=".someTextField" /> </je:aVar>
Pokud by odkaz směřoval na neexistující proměnnou, pak se místo <a>
vypíše <span class="wiLinkDisabled">
.
Atributy
attributes nepovinný [definovaná syntaxe]
Atribut umožňuje vypisovaný element doplnit libovolnými atributy:
attributes="some-attribute: some value, another-attribute: different value"
Pro hodnoty atributů lze použít interpolace:
attributes="some-attribute: {someVariable.someField}"
Některé znaky je třeba escapovat:Znak , : { } \ " Escape sekvence \, \: \{ \} \\ " class nepovinný [string, interpolace]
Hodnota atributu bude beze změny přenesena do výstupního kódu do atributu
class
.container nepovinný [ID containeru, .prev, .next, .parent]
ID containeru, který určuje kontejnerovou proměnnou controlu (viz Kontejnerování), případně modifikace proměnné (viz Vnitřní pole proměnných).
fourthContainer nepovinný [id containeru]
Atribut umožňují do odkazu připojit více proměnných (celkem mohou být proměnné až 4). V atributu je nutno uvést název containeru, jehož proměnná se má k odkazu připojit. Viz příklad.
href povinný [string, interpolace]
URL, na kterou má výsledný odkaz směřovat. URL se doporučuje uvádět absolutně (tj. s počátečním lomítkem) z rootu virtuálního adresáře. Případný virtuální adresář je do odkazu automaticky doplněn (viz Adresářová struktura webu). Pokud atribut obsahuje i kotvu (část za znakem
#
), lze v této části použít interpolaci.idForClient nepovinný [string, interpolace]
Hodnota atributu bude beze změny přenesena do výstupního kódu do atributu
id
.mark nepovinný [definovaná syntaxe]
Atribut slouží k označení vygenerovaného HTML tagu třídou podle aktuální URL nebo pozice na webu, kde se návštěvník nachází. Typicky se používá pro zvýrazňování menu nebo jiných navigačních prvků. Hodnotou atributu může být pouze definovaná syntaxe. Více viz Koncepty/Menu.
mode nepovinný [link, text, sitemap]
Pomocí atributu lze změnit výslednou podobu html kódu. Kromě elementu
<a>
lze tento control použít k zobrazení odkazu, na nějž control směřuje.- link – control vypíše HTML tag
<a>
, URL je vypsána do atributuhref
html <je:aVar runat="server" href="/cs/page.aspx">toto je odkaz</je:a>
- text – control vypíše URL jako text. URL bude vypsána jako lokální, tj. bez adresy serveru. Control při tomto použití nesmí obalovat žádný obsah
html <je:aVar runat="server" href="/cs/page.aspx" mode="text" />
- sitemap – control vypíše URL jako text. URL bude vypsána kompletní, tj. včetně adresy serveru a protokolu. Control při tomto použití nesmí obalovat žádný obsah
html <je:aVar runat="server" href="/cs/page.aspx" mode="sitemap" />
a URL musí být uvedena absolutně z virtuálního adresáře, v kterém je web umístěn.
- link – control vypíše HTML tag
preserveLangDir nepovinný [true,false]
Nastavením na true lze potlačit u absolutních odkazů úpravu cesty změnou jazykového adresáře. Více podrobností včetně příkladů je uvedeno v kapitole Adresářová struktura webu.
preservePath nepovinný [true,false]
Nastavením na true lze potlačit u absolutních odkazů úpravu cesty doplněním virtuálního adresáře. Více podrobností včetně příkladů je uvedeno v kapitole Adresářová struktura webu.
secondContainer nepovinný [id containeru]
Atribut umožňují do odkazu připojit více proměnných (celkem mohou být proměnné až 4). V atributu je nutno uvést název containeru, jehož proměnná se má k odkazu připojit. Viz příklad.
style nepovinný [string, interpolace]
Hodnota atributu bude beze změny přenesena do výstupního kódu do atributu
style
.target nepovinný [string]
Cílové okno pro odkaz. Hodnota atributu bude beze změny přenesena do výstupního kódu do atributu
target
.thirdContainer nepovinný [id containeru]
Atribut umožňují do odkazu připojit více proměnných (celkem mohou být proměnné až 4). V atributu je nutno uvést název containeru, jehož proměnná se má k odkazu připojit. Viz příklad.
title nepovinný [string, interpolace]
Hodnota atributu bude beze změny přenesena do výstupního kódu do atributu
title
.
Lze také použít atributy HTML pro události myši a klávesnice (onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup). Jejich obsah je přímo přepsán do výstupu.
Příklad
Seznam odkazu na články z kolekce vypíšeme pomocí <je:repeater>
a <je:aVar>
takto:
default.aspx
<je:repeater runat="server" source="someCollectionOfArticles"> <item> <h3><je:item runat="server" field=".title" /></h3> <p><je:aVar href="/cs/article.aspx">více...</je:aVar></p> </item> </je:repeater>
Na odkazované stránce pak proměnnou v URL odchytne <je:container>
:
article.aspx
<je:container runat="server" expect="someCollectionOfArticles"> <h1><je:item runat="server" field=".title" /></h1> <je:item runat="server" field=".text" /> </je:container>
Více příkladů, včetně ukázek modifikace předávané proměnné viz Kontejnerování.