0

我正在使用 MVC Site Map Provider 创建一些面包屑

我想做什么;使用 razor 在视图上创建面包屑

我想做一些如下所示的电话

<div id="navbar">
    <div>YOU ARE HERE:
        // There is no calls like this but you get the idea
        @if (SiteMap.CurrentNode.HasParentNodes == true) 
        {
            // I'd like to loop trough each parent till the RootNode
            foreach (SiteMapNode Snode in SiteMap.CurrentNode.ParentNodes)
            {
                <a href="@Snode.Url">@Snode >></a> 
            }
        } else {
            // If there is no parent just show current node
            <a href="@SiteMap.CurrentNode.Url.ToString()">@SiteMap.CurrentNode</a>
        }
    </div>
    <div>@DateTime.Now.Date.ToLongDateString()</div>
</div>

那么我如何使用 Razor on View 来实现这一点?

4

1 回答 1

1

@Html.MvcSiteMap().SiteMapPath()HTML 助手已经这样做了。它是一个模板化的控件,你可以通过编辑/Views/Shared/DisplayTemplates/SiteMapPathHelperModel.cshtml文件来修改它,所以基本上你可以得到你想要的任何 HTML 输出。

如果您在知道之后仍然喜欢按照自己的方式进行操作,您也可以使用MvcSiteMapProvider.SiteMaps.Current.CurrentNode.Ancestors属性(版本 4 及更高版本)来执行此操作。

于 2013-08-20T22:18:07.583 回答