oqtane.framework/Oqtane.Client/Themes/Controls/Breadcrumbs.razor

33 lines
920 B
Plaintext

@namespace Oqtane.Themes.Controls
@inherits ThemeControlBase
@if (breadcrumbs != string.Empty)
{
@((MarkupString)breadcrumbs)
}
@code {
string breadcrumbs = string.Empty;
protected override void OnParametersSet()
{
breadcrumbs = string.Empty;
int? pageid = PageState.Page.PageId;
for (int i = PageState.Pages.Count - 1; i >= 0; i--)
{
var p = PageState.Pages[i];
if (p.PageId == pageid)
{
breadcrumbs = "<li class=\"breadcrumb-item" + ((p.PageId == PageState.Page.PageId) ? " active" : string.Empty) +
"\"><a href=\"" + NavigateUrl(p.Path) + "\">" + p.Name + "</a></li>" + breadcrumbs;
pageid = p.ParentId;
}
}
if (breadcrumbs != "")
{
breadcrumbs = "<ol class=\"breadcrumb\">" + breadcrumbs + "</ol>";
}
}
}