Domanda

Ho bisogno di personalizzare la proprietà titolo per SiteMapNodes.

Sto usando WSS, e ho creato una libreria di documenti personalizzati. Durante la navigazione attraverso questa libreria voglio cambiare i nomi dei nodi della breadcrumb visualizzato sopra il nome della lista.

Finora ho:

  • ha creato una classe che eredita da System.Web.SiteMapProvider,
  • aggiunto la mia classe al web.config,
  • cambiato SharePoint Pagina default.master SiteMapPath (in PlaceHolderTitleBreadcrumb) al punto al mio nuovo provider della mappa del sito.

Ho quindi sovrascritto la proprietà nodoCorrente per modificare il CurrentNode.title con il nome desiderato.

Il mio problema è tutti i nodi precedenti (nodi padre) tornare ai loro nomi originali. Come posso modificare il breadcrumb in modo che tutti i nodi navigato attraverso mantenere il loro nuovo titolo?

Qualche consiglio o la direzione sarebbe apprezzato.

È stato utile?

Soluzione

Il modo in cui ho fatto prima non è la creazione di una nuova SiteMapProvider, ma sostituendo il controllo di SharePoint AspMenu sigillato con MossMenu (lo stesso di AspMenu ma open source da parte del team di SharePoint). Ho poi calpestato OnMenuItemDataBound con il comportamento di cui avevo bisogno.

Se avete bisogno / preferiscono usare SiteMapProvider, avete provato utilizzando Riflettore o il nuovo .NET Framework debug supporto per vedere come funziona? Ci deve essere da qualche parte nel codice SiteMapProvider dove sono, a loro volta, anche in fase di sovrascritte le modifiche ignorata. : -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top