Avatar billede lord_mike Nybegynder
24. januar 2008 - 20:15 Der er 8 kommentarer og
1 løsning

Menusystem - Mere end en menu?

Hey,

Har et problem, idet at jeg bruger ASP.Nets indbyggede menusystem.
Alt virker vel, men alligevel er der noget galt.

Eftersom alle menuerne ser ud som flg.:
--------------------------------
Menu 1
--Menu 2
----Menu 3
--Menu 4
----Menu 5

Fremfor som ønsket:
Menu 1
Menu 2
--Menu 3
Menu 4
--Menu 5
--------------------------------

Det viste sig at web.sitemap filen kun accepterer en siteMapNode, som så derefter accepterer uendeligt mange siteMapNodes. Min fil kan se sådan her ud:

<siteMap>
    <siteMapNode title="Menu 1">
        <siteMapNode title="Menu 2">
            <siteMapNode title="Menu 3" />
        </siteMapNode>
        <siteMapNode url="" title="Menu 4">
            <siteMapNode title="Menu 5" />
        </siteMapNode>
    </siteMapNode>
</siteMap>

Når jeg helst vil have den ser sådan her ud:
<siteMap>
    <siteMapNode title="Menu 1" />
    <siteMapNode title="Menu 2">
        <siteMapNode title="Menu 3" />
    </siteMapNode>
    <siteMapNode url="" title="Menu 4">
        <siteMapNode title="Menu 5" />
    </siteMapNode>
</siteMap>

Hvilket man ikke kan, da siteMap kun må indeholde 1 siteMapNode...
Løsninger?
Avatar billede karl-koder Nybegynder
24. januar 2008 - 21:35 #1
Kan du ikke bruge en tabel fra din database istedet og så databinde til den derfra ?

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/ctrlref/navigation/treeview.aspx

Se under : VB Populating TreeView from a Database
Avatar billede lord_mike Nybegynder
25. januar 2008 - 08:49 #2
Hmm..
Mener bestemt at jeg har fået ASP.Nets menu api til at virke som ønsket før.
Desuden er den foretrukken da jeg vil kunne bruge andre ting som f.eks. menupath.
Avatar billede karl-koder Nybegynder
25. januar 2008 - 11:10 #3
Hvad sker der så hvis du laver :

<siteMap>
    <siteMapNode title="Menu 1"></siteMapNode>
    <siteMapNode title="Menu 2">
        <siteMapNode title="Menu 3"></siteMapNode>
    </siteMapNode>
    <siteMapNode url="" title="Menu 4">
        <siteMapNode title="Menu 5"></siteMapNode>
    </siteMapNode>
</siteMap>
Avatar billede lord_mike Nybegynder
25. januar 2008 - 19:49 #4
Så får jeg en XML fejl, som siger at "Sitemap" skal have præcist en "siteMapNode" element...

Hvilket er åndsvagt...
Alle tutorials på nettet kører efter den model, med 1 hovedmenu og derefter undermenuer...
Avatar billede karl-koder Nybegynder
25. januar 2008 - 22:32 #5
Ok, så kan jeg ikke hjælpe dig desværre ;o(
Avatar billede lord_mike Nybegynder
26. januar 2008 - 20:00 #6
Designede mit eget system istedenfor...

Hvis du ønsker pointsene, så skriv et svar..
Ellers så tager jeg dem selv...
Avatar billede karl-koder Nybegynder
26. januar 2008 - 20:25 #7
Tag du bare selv dem jeg kunne jo ikke bidrage med meget ;o)
Avatar billede lord_mike Nybegynder
26. januar 2008 - 22:47 #8
Randomness... ;)

Tak anyways
Avatar billede ieconfig Nybegynder
27. januar 2008 - 11:31 #9
Til orientering har SiteMapDataSource en egenskab der hedder: ShowStartingNode.

<siteMap>
  <siteMapNode title="Root" />
    <siteMapNode title="Menu 1" />
    <siteMapNode title="Menu 2">
        <siteMapNode title="Menu 3" />
    </siteMapNode>
    <siteMapNode url="" title="Menu 4">
        <siteMapNode title="Menu 5" />
    </siteMapNode>
  </siteMapNode>
</siteMap>

Sæt ShowStartingNode=false (Root noden) og du har hvad du ønskede..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester