TreeView a Menu   otázka

ASP.NET WebForms

Komponentu MENU nebo TreeView navazuji v MasterPage na tento XML:

<MENU>
<trida cis="01" jm="JSEM" url="jsem.aspx"
<trida cis="02" jm="TELE" url="tele.aspx"
atd.
</MENU>

Při přepnutí na ContentPage "jsem.aspx" bych chtěl, aby

odkaz v TreeView "JSEM" zůstal označený (selected).

Příkaz:

Dim mpTree As System.Web.UI.WebControls.TreeView
mpTree = Master.FindControl("TV1")
mpTree.FindNode("JSEM").Selected = True

ani:

mpTree.FindNode("//trida[@jm = 'JSEM']").Selected = True

NEFUNGUJÍ...;-((((((

(Object reference not set to an instance of an object.)

AČKOLIV jestliže místo navázání XML pořídím oba uzly

do TreeView ručně, pak příkaz

mpTree.FindNode("JSEM").Selected = True

FUNGUJE. Totéž platí u komponenty MENU.FindItem

Prosím o radu nebo o nabitou pistoli...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To, o co se snažíte, je naprosto zbytečné. Nevidím důvod, proč nepoužít standardní formát sitemap. Přidejte si do WebSite novou položku (Sitemap File) a strukturu menu popíšete též v XML, akorát ve standardním ASP.NET formátu pro popis menu. Pak se vám budou aktuální stránky v menu označovat samy, pokud tuto funkci zapnete. Stačí komponentu TreeView či Menu navázat na komponentu SiteMapDataSource a je hotovo.

A ještě bych Vás poprosil, abyste pro vkládání ukázek kódu do fóra používal tlačítko VB Code (i na XML fragmenty), aby se kód vyznačil a obarvil.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky, zkoušel jsem to již dříve a funguje mi pouze navázání komponenty SiteMapPath (na zdroj SiteMapDataSource).

Problém jsem vlastně nepopsal zcela:

Jednotlivé url odkazy v XML (případně v souboru WebSitemap)

jsou stejné a liší se pouze v QueryStringu (každý nese 2, rozdělené and-em ve formátu amp; -kvůli zápisu v XML).

<siteMapNode url="obchod.aspx?typ=03&amp;cis=02" title="rohlíky"  description=""/>
        <siteMapNode url="obchod.aspx?typ=03&amp;cis=07" title="housky"  description=""/>

A dvojí QueryString mi moje Menu i TreeView (narozdíl od SiteMapPath) nechápe a tak po stisknutí volby se správně připojím na daný odkaz, ten ale "svítit" nezůstane.

Pokud smažu druhý queryString a ponechám pouze jeden, pak funguje vše, ale POUZE je-li zdroj ve Vámi doporučovaném Web.siteMap. Tento XML zdroj ale musí ležet vždy v rootu webu

a to mi nevyhovuje.

Takže pokud opravdu není možné z ContentPage nějak rozsvítit určitou položku Menu nebo Treeview, ležící v MasterPage, budu muset kapitulovat a nějak se přizpůsobit.

Každopádně děkuji, snad jsem to moc nezamotal.

nějak se přizpůsobit

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback