Closed ehaltom closed 7 years ago
You just need to define both attributes in the same (singular) MvcSiteMapProvider_AttributesToIgnore
element, separated by commas.
<add key="MvcSiteMapProvider_AttributesToIgnore" value="featuredLinkLocation,featuredLinkText" />
Ahh, thank you so much. Sorry for such a rookie mistake.
REMARK: if you are using an external DI container, instead of using an appSetting
, you should configure this during the DI container configuration, as explained here:
If using an external DI container, this setting can be found on the constructor of the ReservedAttributeNameProvider in a parameter named "attributesToIgnore", which is type
IEnumerable<string>
.
I'm not sure if this has been asked yet. I couldn't find anything.
Anyhow, I have two custom attributes that I am using in my sitemap:
`
My site uses Areas heavily (I'm not sure that matters though). For the links that utilize these attributes the featuredLinkLocation is hidden as expected, however the featuredLinkText is still defined as a route perameter. In my view model the links are displayed using the typical:
@Html.DisplayFor(m => child)
A node that uses these attributes is:
<mvcSiteMapNode title="About Us" area="About" controller="Home" action="Index" featuredLinkLocation="About" featuredLinkText="Learn about Chemical Bank" >
and the link produced by the above node is: /About/Home?featuredLinkLocation=About
I can't find anything that I've done to explain why this route value is being displayed. From the above can you see anything that I've done wrong?
Thank you so much for your help! Eric