1

这应该是一个足够简单的问题,但我遇到了问题,我正在尝试根据模型的属性在 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 标签,这很好,但我不知道如何在不使用宏的情况下达到相同的效果,你能帮我正确地重写吗?

4

1 回答 1

0

我以前没有真正使用过内联宏,但我想它会是这样的:

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

您需要引用您所在的节点,然后引用它的属性。

于 2013-05-31T11:34:25.113 回答