试图理解MVC4 / Razor语法以及为什么没有出现

时间:2013-10-25 01:33:05

标签: asp.net-mvc-4 razor

很明显,当我有一个类似下面的块时,无论@ Model.ShowBottomBarOverride设置为什么,{}中的div都不会呈现。我认为它应该但我只是不明白。我确定我不知道剃刀语法处理

        @if (@Model.ShowBottomBarOverride)
        {

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

@”表示C#代码,因此,一旦您在代码段中,就不需要它。

因此,在您的情况下,您可以这样简化:

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

但我认为您的问题是Model.ShowBottomBarOverride正在返回false。请尝试删除if或加密true条件。

答案 2 :(得分:0)

感谢大家的想法。 Razor按照我的预期行事,但是我有一个错位的div导致我的内容无形。我以为我已经用DOM检查员检查过了,但显然我错过了它。