Вы пытались создать шаблон отображения SiteMapNodeModel? Это позволяет вам создать свой якорный тег так, как вы пожелаете. Я создал один, чтобы специально добавить класс к привязке, если узел находился в текущем пути, чтобы я мог применить определенный CSS.
Вот частичный вид бритвы, который я использую:
@model MvcSiteMapProvider.Web.Html.Models.SiteMapNodeModel
@{
if (Model.IsCurrentNode && Model.SourceMetadata["HtmlHelper"].ToString() !="MvcSiteMapProvider.Web.Html.MenuHelper")
{
@Model.Title
}
else if (Model.IsClickable)
{
<a href="@Model.Url" class="@(Model.IsInCurrentPath ? "current" : string.Empty)" target="@Model.TargetFrame" >@Model.Title</a>
}
else
{
@Model.Title
}
}
Файл с именем «SiteMapNodeModel.cshtml» (бритва) помещается в Shared / DisplayTemplates. Когда asp.net Mvc передает SiteMapNodelModel, он автоматически использует этот шаблон.