/ MVCSiteMapProvider कस्टम MvcRouteHandler के साथ कोई ब्रेडक्रंब नहीं

MVCSiteMapProvider के साथ कोई ब्रेडक्रंब कस्टम MvcRoute हैंडलर - ब्रेडक्रंब, साइटमैप्रोवाइडर, साइटमैपथ

Global.asax में मेरे 2 रूट हैं

        routes.MapRoute(
"DefaultFriendlyUrl",
"Page/{FriendlyUrl}",
null,
new string[] { "MvcApplication2.Controllers" }
).RouteHandler = new FriendlyUrlRouteHandler();


routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "index", id = UrlParameter.Optional },
new string[] { "MvcApplication2.Controllers" }
);

इसलिए, FriendlyUrlRouteHandler मेरे सभी / पृष्ठ / ब्लाब्लाब्ला मार्गों पर काम करता है और 1 महीने के सूचकांक में PageController को भेजें

public class FriendlyUrlRouteHandler : MvcRouteHandler
{
protected override IHttpHandler GetHttpHandler(RequestContext requestContext)
{
var friendlyUrl = (string)requestContext.RouteData.Values["FriendlyUrl"];

PageItem page = null;

if (!string.IsNullOrEmpty(friendlyUrl))
page = PageManager.GetPageByFriendlyUrl(friendlyUrl);

if (page == null)
{
requestContext.RouteData.Values["controller"] = "home";
requestContext.RouteData.Values["action"] = "index";
requestContext.RouteData.Values["id"] = null;
}
else
{
requestContext.RouteData.Values["controller"] = "page";
requestContext.RouteData.Values["action"] = "index";
requestContext.RouteData.Values["id"] = page.PageID;
}

return base.GetHttpHandler(requestContext);
}
}

तब PageController मेरे पृष्ठ के लिए सामग्री प्राप्त करता है और इसे दिखाता है। लेकिन MvcSiteMapProvider डॉन "टी इन पृष्ठों के लिए ब्रेडक्रंब दिखाते हैं

SiteMap.cs

public class SiteMap : DynamicNodeProviderBase
{
public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
{
var returnValue = new List<DynamicNode>();
returnValue.Add(new DynamicNode() { Key = "id1", Title="CustomPage", Controller="Page", Action="Index" });
return returnValue;
}
}

और मेरा CustomPage doesn, t @ Html.MvcSiteMap ()। SiteMapPath () में मौजूद है, लेकिन पेज सही तरीके से दिखाया गया है। मेरे कोड में क्या गलत है? इसलिए, मैं ब्रेडक्रंब स्ट्रिंग में अपने कस्टम पृष्ठों का पेड़ बना सकता हूं ...

उत्तर:

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

कृपया अपना Mvc.sitemap प्रदान करें।

डायनामिकनोड का आपका उदाहरण पेरेंटके को याद कर रहा है।