Mam mapę witryny ASP MVC, która wygląda mniej więcej tak
<mvcSiteMapNode title="Home" imageUrl="home.png" controller="Home" action="Index">
<mvcSiteMapNode title="Search" controller="Search" imageUrl="magnifying_glass.png" action="Index">
Wszystkie węzły mają właściwość "imageUrl"przypisane do nich, do których chciałbym uzyskać dostęp w mojej opinii. Wiem, że w bibliotece znajduje się pomocnik SiteMap, który pozwala mi uzyskać tytuł
@Html.MvcSiteMap().SiteMapTitle()
Jednak nie widzę żadnego sposobu na uzyskanieimgUrl. Zanim piszę własną, czy ktoś wie, czy to już istnieje? Szukałem, ale nie mogę znaleźć żadnego sposobu na to, aby to zrobić w istniejącej bibliotece.
Odpowiedzi:
2 dla odpowiedzi № 1OK, właśnie coś napisałem, to bardzo proste.
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);
}
}