هل هناك طريقة لتعيين العقدة الحالية من عنصر تحكم SiteMapPath برمجيا؟

StackOverflow https://stackoverflow.com/questions/683927

سؤال

وموقعي لديه عدد قليل من الصفحات التي تشير إلى صفحة فرعية نفسها. أنا باستخدام خريطة الموقع XML التي لن تسمح لي لتكرار SiteMapNode مع نفس عنوان الموقع. كانت فكرتي ثم إعطاء إرادتي SiteMapPath عقدة الأم لتجميع نفسها من ثم قم بإضافة على SiteMapNode الصفحة الحالية.

وأي شخص آخر كان ليفعل شيئا من هذا القبيل؟ لقد ألقيت نظرة على هذه المادة http://msdn.microsoft.com/en -US / مكتبة / ms178425.aspx التي تصف كيفية "برمجيا تعديل الموقع للخرائط العقد في الذاكرة" لكنهم بما في ذلك SiteMapNode في ملف وبعد ذلك فقط تعديل تلك العقدة بتفقد سلسلة استعلام مواقع المعلومات.

وبلدي العقدة لا وجود له، أو إذا كان هو أنني كنت بحاجة إلى انسخها إلى الأصل الصحيح لذلك يمكن أن تجعل المسار الصحيح. لالبصرية:

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

وبعض الأمثلة على ما أود أن أرى:

Home > My Page > Page A
Home > My Other Page > Page A
Home > My Page > Page B
Home > YAPage > Page B
هل كانت مفيدة؟

المحلول

ويبدو هذه ذاهبون إلى حل المشكلة:

http://www.codeproject.com/KB/aspnet/ABetterSiteMapResolve.aspx http://netpl.blogspot.com/2008/ 04 / sitemapresolve وديناميكي الموقع-map.html

لخرائط ديناميكية: http://www.codeproject.com/KB/aspnet/dynamicsitemap.aspx

ومع موفر متعددة ستحتاج إلى استخدام هذا بدلا إرفاق الحدث SiteMapResolve: (إذا حدث لديك لا يطلقون النار على الأرجح لم يكن لديك مجموعة مزود الصحيح)

وSiteMap.Providers [currentProvider] .SiteMapResolve + = جديد SiteMapResolveEventHandler (Provider_SiteMapResolve)؛

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top