这应该是一个简单的问题,但我遇到了问题,我试图根据Model的属性在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 :(得分:0)
之前我还没有真正使用过内嵌宏,但我认为它会是这样的:
@{
if(Model.enableSideBar) {
//DoSomething
}
}
您需要引用您所在的节点,然后引用其属性。