2013-05-19 31 views
1

這應該是足夠簡單的問題,但我有問題,我試圖啓用基於模型的屬性在umbraco模板中禁用側欄。查看Umbraco模板內的模型屬性

<%@ Master Language="C#" MasterPageFile="~/masterpages/Master.master" AutoEventWireup="true" %> 
<asp:content ContentPlaceHolderId="MainContent" runat="server"> 
<umbraco:Macro runat="server" language="cshtml"> 
@{ 
    boolean enableSidebar = Model.GetProperty("enableSidebar").Value; 
} 
<div class="container" style="margin-top:20px;"> 
    <div class="row"> 
     <div class="@(enableSidebar ? "span9" : "span12")"> 
      <div class="default-content"> 
       <!-- CONTENT --> 
       <asp:ContentPlaceHolder runat="server" ID="MainContent" /> 
      </div> 
     </div> 
     @if (enableSidebar) { 
      <div class="span3 box"> 
       <div class="green-header-box"></div> 
       <div class="inline box-content"> 
        <!-- SIDEBAR --> 
        <asp:ContentPlaceHolder runat="server" ID="SidebarContent" /> 
       </div> 
      </div> 
     } 
    </div> 
</div> 
</umbraco:Macro> 
</asp:content> 

我得到的錯誤,說我不能使用內宏這是很好的ASP標記,但我不知道該怎麼辦我達到同樣的效果,而無需使用宏,可以請你幫我正確地重新寫?

回答

0

我還沒有真正使用在線宏之前,但認爲這將情況而像我想的:

@{ 
    if(Model.enableSideBar) { 
     //DoSomething 
    } 
} 

你需要引用你,然後其屬性的節點。