こんにちは、アクティブな場合、またはその下のページにいる場合は、「アクティブ」のクラスをliに追加したいと思います。次のコードがあります
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = null;
}
<nav class="topNav">
<ul>
@foreach (var item in Model.Content.AncestorOrSelf(1).Children.Where(x => x.IsVisible() && x.IsDocumentType("Subfrontpage") || x.IsDocumentType("Procesguide")))
{
<li>
<a href="@item.Url">@item.Name</a>
</li>
}
</ul>
</nav>
これで何かできると思いますが、エラーが発生します
var isSelected = Model.Path.Contains(item.Id.ToString()) ? "active" : "";
<li class="@Html.Raw(isSelected)">
<a href="@item.Url">@item.Name</a>
</li>
これは私が得るエラーです。10行目。
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1061: 'Umbraco.Web.Models.RenderModel' does not contain a definition for 'Path' and no extension method 'Path' accepting a first argument of type 'Umbraco.Web.Models.RenderModel' could be found (are you missing a using directive or an assembly reference?)
Source Error:
Line 8: @foreach (var item in Model.Content.AncestorOrSelf(1).Children.Where(x => x.IsVisible() && x.IsDocumentType("Subfrontpage") || x.IsDocumentType("Procesguide")))
Line 9: {
Line 10: var isSelected = Model.Path.Contains(item.Id.ToString()) ? "active" : "";
Line 11:
Line 12: <li class="@Html.Raw(isSelected)">
私は今これを試しましたが、ランクはありません
<ul>
<li>
<a href="@home.Url">@home.Name</a>
</li>
@foreach (var item in Model.Content.AncestorOrSelf(1).Children.Where(x => x.IsVisible() && x.IsDocumentType("Subfrontpage") || x.IsDocumentType("Procesguide")))
{
var isSelected = item.IsDescendant(Model,"active", "");
<li class="@Html.Raw(isSelected)">
<a href="@item.Url">@item.Name</a>
</li>
}
</ul>