@model (bool IsFolder,List<ChildrenTree> Children)
@{
var keyword = TempData["SearchKey"] as string;
string? MatchKeyword(string? name)
{
if (string.IsNullOrWhiteSpace(keyword))
{
return name;
}
var startIndex = name!.IndexOf(keyword, StringComparison.CurrentCultureIgnoreCase);
if (startIndex >= 0)
{
var match = name.Substring(startIndex, keyword.Length);
return name[..startIndex] + $"<mark>{match}</mark>" + name[(startIndex + keyword.Length)..];
}
return name;
}
}
@foreach (var item in Model.Children)
{
<div class="row" data-name="@item.Name" data-is-folder="@Model.IsFolder.ToString().ToLower()">
<div class="icon">
<partial name="_IconPartial" model="(Model.IsFolder,item.Name)"/>
</div>
<div class="header">
<span>
<a asp-action="Index" asp-route-path="@(string.Join("/", item.CurrentPath))" title="@item.Name">
@Html.Raw(MatchKeyword(item.Name))
</a>
</span>
</div>
<div class="desc">
<span>
<a title="@item.Note">@(item.Note)</a>
</span>
</div>
<div class="time">
<time class="timeago" datetime="@item.LastUpdateTime">@item.LastUpdateTime</time>
</div>
</div>
} 评论加载中...