我在MVC3网站中使用MVCSiteMapProvider,并且最近在mvc.sitemap中的节点上添加了meta关键字和说明。 ... 例如。然后,我的视图将其填充为: @ {字符串标题=“”; 字符串关键字=“”; 字符串说明=“”; if (SiteMap.CurrentNode != null) { title = SiteMap.CurrentNode["title"]; keywords = SiteMap.CurrentNode["keywords"]; description = SiteMap.CurrentNode["description"]; } } > @ title > 我在所有页面上使用: @ Html.MvcSiteMap()。Menu(0,true,true,1)自从我开始在关键字部分中放置内容以来,菜单中的链接就这样填充: 主页我不确定为什么会出现这种情况,我希望它不存在。有人有主意吗? (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 据我所知,这是未公开的MvcSiteMapProvider功能。节点上的所有未知属性均作为RouteValues默认值插入。要忽略关键字属性,请在web.config中编辑站点地图设置,然后将“关键字”添加到attributeToIgnore。如果使用默认的插入配置,则MvcSiteMapProvider应该已经定义了attributeToIgnore。以下是将关键字添加到attributeToIgnore的默认设置:<siteMap defaultProvider="MvcSiteMapProvider" enabled="true"> <providers> <clear/> <add name="MvcSiteMapProvider" type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider" siteMapFile="~/Mvc.Sitemap" securityTrimmingEnabled="true" cacheDuration="5" enableLocalization="true" scanAssembliesForSiteMapNodes="true" excludeAssembliesForScan="" includeAssembliesForScan="" <!-- Added keywords --> attributesToIgnore="bling,visibility,keywords" nodeKeyGenerator="MvcSiteMapProvider.DefaultNodeKeyGenerator, MvcSiteMapProvider" controllerTypeResolver="MvcSiteMapProvider.DefaultControllerTypeResolver, MvcSiteMapProvider" actionMethodParameterResolver="MvcSiteMapProvider.DefaultActionMethodParameterResolver, MvcSiteMapProvider" aclModule="MvcSiteMapProvider.DefaultAclModule, MvcSiteMapProvider" siteMapNodeUrlResolver="MvcSiteMapProvider.DefaultSiteMapNodeUrlResolver, MvcSiteMapProvider" siteMapNodeVisibilityProvider="MvcSiteMapProvider.DefaultSiteMapNodeVisibilityProvider, MvcSiteMapProvider" siteMapProviderEventHandler="MvcSiteMapProvider.DefaultSiteMapProviderEventHandler, MvcSiteMapProvider"/> </providers></siteMap>关于asp.net-mvc - MVCSiteMapProvider-最近添加的关键字,现在它们在MenuHelper的链接中填充,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10113948/ (adsbygoogle = window.adsbygoogle || []).push({});
10-08 23:25