ASP MVC Sitemap是否有Image HTML Helper?

时间:2012-08-01 10:05:25

标签: asp.net-mvc sitemapprovider asp.net-mvc-sitemap

我有一个ASP MVC Sitemap,看起来像这样

<mvcSiteMapNode title="Home" imageUrl="home.png" controller="Home" action="Index">
        <mvcSiteMapNode title="Search" controller="Search" imageUrl="magnifying_glass.png" action="Index">

节点都有一个分配给它们的'imageUrl'属性,我想在我的视图中访问它。我知道库中包含一个SiteMap助手,它允许我通过

获得标题
@Html.MvcSiteMap().SiteMapTitle()

但是,我看不到任何获取imgUrl的方法。在我自己编写之前,是否有人知道这是否已经存在?我一直在搜索,但在现有的库中找不到任何方法。

1 个答案:

答案 0 :(得分:2)

好吧,我自己写的东西。这很简单。

public static class MvcSiteMapImageUrlHelper
    {
        public static MvcHtmlString SiteMapImageUrl(this MvcSiteMapHtmlHelper helper)
        {
            var node = helper.Provider.CurrentNode;

            if (node != null)
            {
                return new MvcHtmlString(node["ImageUrl"]);
            }

            return new MvcHtmlString(string.Empty);
        }
    }