2012-03-10 43 views
6

在我的文件Mvc.sitemap,有以下节点:风俗MvcSiteMap提供商属性

<mvcSiteMapNode title="Contato" controller="Home" action="Contato" classesCustomizadas="quebra contato" /> 

的Web.config

attributesToIgnore="visibility, classesCustomizadas"

全..

<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" 
       includeAssembliesForScan="" 
       excludeAssembliesForScan="" 
       attributesToIgnore="visibility, classesCustomizadas" 
       nodeKeyGenerator="MvcSiteMapProvider.DefaultNodeKeyGenerator, MvcSiteMapProvider" 
       controllerTypeResolver="MvcSiteMapProvider.DefaultControllerTypeResolver, MvcSiteMapProvider" 
       actionMethodParameterResolver="MvcSiteMapProvider.DefaultActionMethodParameterResolver, MvcSiteMapProvider" 
       aclModule="MvcSiteMapProvider.DefaultAclModule, MvcSiteMapProvider" 
       siteMapNodeUrlResolver="MvcSiteMapProvider.DefaultSiteMapNodeUrlResolver, MvcSiteMapProvider" 
       siteMapNodeVisibilityProvider="MvcSiteMapProvider.FilteredSiteMapNodeVisibilityProvider, MvcSiteMapProvider" 
       siteMapProviderEventHandler="MvcSiteMapProvider.DefaultSiteMapProviderEventHandler, MvcSiteMapProvider" /> 
    </providers> 
</siteMap> 

我编辑文件“网站” MapNodeModel.cshtml”这样他就可以工作方式如下:

@if (Model.IsCurrentNode && Model.SourceMetadata["HtmlHelper"].ToString() != "MvcSiteMapProvider.Web.Html.MenuHelper") 
{ 
    <text>@Model.Title</text> 
} 
else if (Model.IsClickable) 
{ 
    <a href="@Model.Url " class=">>>> Classes here <<<<<">@Model.Title</a> 
} 
else 
{ 
    <text>@Model.Title</text> 
} 

如何在我的文件Mvc.sitemap获得配置的属性classesCustomizadas类和(这里>>>>类< < < < <)更换?

+1

你已经使用了'attributesToIgnore'并没有为我工作的价值。以逗号分隔的属性列表不能在逗号周围包含任何空格。我使用的是3.1版本。 – 2012-08-13 12:16:26

回答

6

自定义属性存储在SiteMapNodeModel的属性MetaAttributes中。

因此,您可以使用获取类:@Model.MetaAttributes["classesCustomizadas"]