Frage

Ich habe kürzlich angefangen, Marteenba zu verwenden Sitemap -Anbieter, weil ich ein Routenproblem mit dem anderen Sitemap, den ich hatte, nicht lösen konnte. Es ist viel besser als mein vorheriger. Meine Frage lautet: Wie kann ich verschiedene Breadcrumb -Pfade von Seiten erstellen, die auf eine einzelne Hauptseite gehen? Betrachten Sie die Idee unten:

Sitemap -Struktur

<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal">
       <mvcSiteMapNode title="Clients Search" controller="ClientBussiness" action="ClientSearch" description="Clients Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Advanced Search" controller="ClientBussiness" action="AdvancedSearch" description="Clients Advanced Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Another Search" controller="ClientBussiness" action="AnotherSearch" description="Clients Another Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>
</mvcSiteMapNode>

Auf dem obigen Beispiel zeigt mein Breadcrumb Trail immer die Suche nach Knotenclients anstelle eines anderen. Ich weiß nicht, ob ich für jede Art von Suche verschiedene Routen erstellen sollte (ich habe dies auf meiner letzten Sitemap gemacht, aber leider hat IIS6 es nicht gefallen).

Ich schätze Ihre Hilfe.

BEARBEITEN

Bei der Suche in Foren fand ich eine ähnliche Frage. Betrachten Sie also die folgende Struktur:

Home >> Search >> Contracts
Home >> Another Search >> Contracts
Home >> Advanced Search >> Contracts
Home >> Web Service Search >> Extra fields >> Contracts
War es hilfreich?

Lösung

Nun, es scheint, dass ich nur einige dynamische Knotenattribute zu meinen Controllern hinzufügen musste. Sie können lesen, wie es geht hier. Verwenden Sie das obige Beispiel, so ist es so, wie es gemacht wird:

 [MvcSiteMapNodeAttribute(Title = "Search", Key = "search", ParentKey = "ContractSearch", Route = "SearchRoute")]
        [MvcSiteMapNodeAttribute(Title = "AdvancedSearch", Key = "ContractAdvSearch", ParentKey = "AdvSearch", Route = "AdvSearchRoute")]
        [MvcSiteMapNodeAttribute(Title = "AnotherSearch", Key = "ContractAnotherSearch", ParentKey = "AnotherSearch", Route = "AnotherSearchRoute")]
        public ActionResult ContractIndex()
{
   //Things to do...         
}

Auf dem obigen Beispiel wird jede Art von Suche ordnungsgemäß auf dem Breadcrumb Trail definiert. Denken Sie daran, dass Sie verschiedene Routen für jede Art von "Suche" definieren müssen, die Sie verwenden möchten. Wenn Sie also 3 Knoten haben möchten, die auf die gleiche URL zeigen, muss jeder Knoten seine eigene Route haben und der Schlüssel, definiert auf MvcSiteMapNodeAttribute.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top