2
マルチレベルドロップドロップメニューを作成しようとしています。私はumbraco CMSを使用しています。UmbracoでRazorを使用したマルチレベルドロップダウンメニュー
私は何を探していますがのようなものです:
<div id="TopMenu">
<ul class="myMenu">
<li><a href="#">Home</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Products</a>
<ul>
<li><a href="#">Products1</a></li>
<li><a href="#">Products2</a></li>
<li><a href="#">Products3</a></li>
</ul>
</li>
<li><a href="#">ContactUs</a></li>
</ul>
</div><!--TopMenu-->
そしてUmbracoで、私はそれを動作させるためのCSHTMLを作成しました:
<ul class="myMenu">
<li><a href="/">Home</a> </li>
@foreach (var page in @Model.AncestorOrSelf(1).Children)
{
string style = "";
if (1 == 1) { style = "class=\"current\""; }
<li><a href="@page.Url" @style>@page.Name</a></li>
}
以上かみそりの構文はのために正常に動作しますAncestorOrSelf(1)はトップレベルですが、AncestorOrSelf(2)の製品のサブノードが必要です。これを達成する方法を知っていますか
ありがとう
+1妥当なhtmlを除いて 'li'は最後の'} 'の直前で閉じるべきです。もしあなたがumbracoNaviHideを使っているならば' ... Children.Where( "Visible") ' – Myster
この回答は私のために働いたが、if(if.page.Children.Where ..)の前に@ missingがあると信じている。 – Migs
私はあまりにも@Migsと思ったが、Visual Studioは削除するまで苦情を申し立てた。 – Geekatron