umbraco 7 ASP.NET C# MVC 4 を使用しています。
新しい umbraco を使用しようとしていますが、これまでのところ問題ありませんが、設定したページの 1 つのプロパティを取得する必要があります。
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var homePage = CurrentPage.AncestorsOrSelf(1).First();
var menuItems = homePage.Children.Where("isMenu == true");
}
<!-- Nav -->
<div class="row">
<div class="col-md-12 top-menu-container">
<ul>
@* If the Url of the current page is "/" then we want to add the class "current_page_item" *@
@* Otherwise, we set the class to null, that way it will not even be added to the <li> element *@
<li>
<div onclick="location.href='/';" class="col-md-2 metro-container" style="background-color:#@Model.Content.GetPropertyValue("navigationColor")" >
<img class="menu-img" src="../../media/1001/home.png" alt="" />
Home
</div>
</li>
@foreach (var item in menuItems)
{
@* If the Id of the item is the same as the Id of the current page then we want to add the class "current_page_item" *@
@* Otherwise, we set the class to null, that way it will not even be added to the <li> element *@
<li>
<div onclick="location.href='@item.Url';" class="col-md-2 metro-container" style="background-color:#@item.Content.GetPropertyValue("navigationColor")" >
<img class="menu-img" src="../../media/1001/home.png" alt="" />
@item.Name
</div>
</li>
}
</ul>
</div>
</div>
したがって、ループの外側の最初の "li" は、モデル コンテンツの Getproperty メソッドを取得するだけです。
ただし、ループは現在のページの子を通過しますが、特定のプロパティを取得できないようです。
さらに悪いことに、Intellicense はすべてのランタイムとして機能していません。
問題の行は
<div onclick="location.href='@item.Url';" class="col-md-2 metro-container" style="background-color:#@item.Content.GetPropertyValue("navigationColor")" >
ページに設定された色を、navigationColor コントロールから取得する必要があります。
ここで何が間違っていますか?