2012-03-10 60 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"]