Existuje způsob, jak programově nastavit aktuální uzel ovládacího prvku SiteMapPath?

hlasů
1

Můj web obsahuje několik stránek, které odkazují na stejné podřízené stránce. Jsem pomocí XML Mapa, která neumožní, abych duplikovat SiteMapNode se stejnou adresou URL. Můj nápad byl pak dát mou kontrolou SiteMapPath mateřský uzel naplnit sám od, a pak přidat na SiteMapNode aktuální stránky.

Má někdo musel udělat něco podobného? Díval jsem se na tento článek http://msdn.microsoft.com/en-us/library/ms178425.aspx který popisuje, jak programově změnit „Site-Map Uzly v paměti“, ale oni jsou včetně SiteMapNode v souboru a pak jen úpravou že uzel kontrolora QueryString.

Můj uzel nikdy existuje, nebo jestli je to budu potřebovat zkopírovat ji do správné rodiče, takže by to mohlo způsobit správnou cestu. Pro vizuální:

Home
--My Page
----Page A
----Page B
----Page C
--My Other Page
----Page A
----Page D
--YAPage
----Page B
----Page C

Některé příklady toho, co bych si přál, aby:

Home > My Page > Page A
Home > My Other Page > Page A
Home > My Page > Page B
Home > YAPage > Page B
Položena 26/03/2009 v 00:26
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Vypadá to, že tito jdou k vyřešení problému:

http://www.codeproject.com/KB/aspnet/ABetterSiteMapResolve.aspx http://netpl.blogspot.com/2008/04/sitemapresolve-and-dynamic-site-map.html

U dynamických sitemaps: http://www.codeproject.com/KB/aspnet/dynamicsitemap.aspx

S multiple poskytovatel to budete muset použít místo toho připojit událost SiteMapResolve: (. Je-li vaše akce se nespouští s největší pravděpodobností nemáte správnou sadu poskytovatele)

SiteMap.Providers [currentProvider] .SiteMapResolve + = nový SiteMapResolveEventHandler (Provider_SiteMapResolve);

Odpovězeno 27/03/2009 v 17:50
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more