/ / एक वेब अनुप्रयोग में दो अलग-अलग साइटमैप का उपयोग करें - c #, asp.net, साइटमैप

वेब अनुप्रयोग में दो अलग-अलग साइटमैप का उपयोग करें - सी #, एएसपीनेट, साइटमैप

मेरे पास डेटाबेस में एक फ़ील्ड है जो सही या गलत हो सकता है। मैं web1.sitemap दिखाना चाहता हूं यदि वह क्षेत्र सत्य है और web2.sitemap यदि वह गलत है। मैं यह कैसे कर सकता हूं।

उत्तर:

उत्तर № 1 के लिए 1

आप दो साइटमैप डेटाऊर्स जोड़ सकते हैं और फिर कोड में उन डेटासोर्स को अपने नियंत्रण में असाइन कर सकते हैं जैसा कि आप डेटा नियंत्रण के साथ करते हैं। मैंने इस तरह से लागू किया है और मेरे लिए ठीक काम कर रहा है।

उदाहरण के लिए। menu1.datasource = sitemapdatasouce1;

आप कोड में अपने स्वयं के साइट मानचित्र प्रदाता आदि बना सकते हैं .. यह अधिक जटिल नहीं है .. msdn को देखो .. http://msdn.microsoft.com/en-us/library/ms178432.aspx

http://msdn.microsoft.com/en-us/library/ms178433.aspx

मुझे अपना साइटमैप प्रदाता वर्ग बनाना पसंद हैतथा साइटमैप प्रदाता ऑब्जेक्ट बनाएं और इसे साइटमैपडॉटसोर्स क्लास ऑब्जेक्ट पर असाइन करें .. फिर आप इस साइटमैप डेटा स्रोत ऑब्जेक्ट को टाइप किए गए साइटमैपडैटसोर्स के रूप में उपयोग कर सकते हैं .. आशा है कि यह आपकी थोड़ी मदद करेगा ..


उत्तर № 2 के लिए 1

आप ऐसा कर सकते हैं सेटअप कई साइटमैप अपने web.config में। और अपने डेटाबेस फ़ील्ड के मूल्य के आधार पर, अपने मेनू / ट्रीव्यू के SiteMapProvider को संबंधित एक में बदलें: web1 या web2 उदाहरण के लिए।

<configuration>
<!-- other configuration sections -->
<system.web>
<!-- other configuration sections -->
<siteMap defaultProvider="XmlSiteMapProvider">
<providers>
<add
name="web1"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/web1.sitemap" />
<add
name="web2"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/web2.sitemap" />
</providers>
</siteMap>
</system.web>
</configuration>