0

很明显,当我有如下块时,无论 @Model.ShowBottomBarOverride 设置为什么,{} 中的 div 都不会呈现。我认为应该,但我就是不明白。我确定我不理解剃刀语法处理

        @if (@Model.ShowBottomBarOverride)
        {

            <div id="sponsorBottomBar" class="hideOnSmallScreen">
                @{ Html.RenderPartial("_SponsorsBottomBar", Model); }
            </div>
        }
        <br />
4

3 回答 3

0

" @" 表示 C# 代码,因此,一旦您处于代码片段中,您就不需要它。

因此,在您的情况下,您可以通过以下方式简化它:

@if (Model.ShowBottomBarOverride)
{
   <div id="sponsorBottomBar" class="hideOnSmallScreen">
       @Html.RenderPartial("_SponsorsBottomBar", Model)
   </div>
}

但我认为你的问题是Model.ShowBottomBarOverride正在返回false。尝试删除if或对true条件进行编码。

于 2013-10-25T01:43:12.043 回答
0

感谢大家的想法。Razor 的行为符合我的预期,但是我的 div 放错了位置,导致我的内容不可见。我以为我已经用 DOM 检查器检查过了,但显然我错过了。

于 2013-10-25T17:29:31.713 回答
0

您不需要IF表达式中“模型”上的“@”前缀,但该代码是正确的。

于 2013-10-25T01:37:39.107 回答