2013-01-10 20 views
0

我在EpiServer中構建了一個菜單,我只想包含某個特定頁面類型的項目。如果重複項目的頁面類型等於「X」,則打印出來,否則不要做任何事情。如何有條件地檢查EpiServer中的.aspx文件中的屬性:MenuList?

<ItemTemplate> 
<li> 
    <span class="menu-level-1"> 
     <%# Container.CurrentPage.PageTypeName == "NameOfPageType" ? "Something": "" %>      
     <span class="menu-divider"></span> 
    </span> 
... 
.. 
. 

我想打印每(誰符合標準)項目頁面名稱,即:

<EPiServer:Property PropertyName="PageName" runat="server"> 

什麼是exceuting代碼,而不是打印出「東西」正確的語法?

回答

1

你可以用要麼去:

<%# Container.CurrentPage.PageTypeName == "NameOfPageType" ? Container.CurrentPage.PageName : "" %> 

或標準ASP.NET PlaceHolder控件包住樓市調控:

<span class="menu-level-1"> 
    <asp:PlaceHolder runat="server" Visible=<%# Container.CurrentPage.PageTypeName == "NameOfPageType" %> > 
     <EPiServer:Property PropertyName="PageName" runat="server" /> 
     </asp:PlaceHolder> 
     <span class="menu-divider"></span> 
</span> 
+0

這是什麼excactly我一直在尋找。謝謝! –

1

你可以連接到篩選事件從底層PageTreeData control

嘗試這樣的事情

yourMenulistControl.Filter += 
     (o, args) => new FilterCompareTo("PageTypeName", "YOURPAGETYPENAME") 
         .Filter(args.Pages); 
相關問題