Asp.net mvc 4 试图理解MVC4/Razor语法以及为什么事情不';不出现

Asp.net mvc 4 试图理解MVC4/Razor语法以及为什么事情不';不出现,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,很明显,当我有一个如下所示的块时,无论@Model.ShowBottomBarOverride设置为什么,{}中的div都不会呈现。我想应该,但我就是不明白。我肯定我不理解razor的语法处理 @if (@Model.ShowBottomBarOverride) { <div id="sponsorBottomBar" class="hideOnSmallScreen"> @{ Html.Ren

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

        @if (@Model.ShowBottomBarOverride)
        {

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

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

@
”表示C代码,因此,在代码段中不需要它

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

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

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

谢谢大家的想法。Razor的表现和我预期的一样,但我有一个放错地方的div,导致我的内容不可见。我以为我已经向DOM inspector检查过了,但显然我没有检查到。

@Model.ShowBottomBarOverride的计算结果为false。因此,块中没有任何东西渲染/运行等…与主视图相关的代码在哪里?当我调试时,我一步一步地完成俯冲,但没有任何东西进入主视图Response@PeterKellner你连海绵垫都没有?没错。我要做一个小测试页。