【问题标题】:Tags and @model inside if-blockif-block 中的标签和@model
【发布时间】:2014-03-14 03:14:38
【问题描述】:

在我的Footer.cshtml 中,我有一个经过身份验证的用户的开关,并检查是否提供了模型。

@model AngemeldeterBenutzerModel

@if (User.Identity.IsAuthenticated && Model != null)
{
    <span class="span2">Eingelogt als @model.AnzeigeName</span>
    <span class="offset1 span9">Zuletzt eingelogt mit "@model.LastLoginIp" um "@model.LastLoginDate"</span>
}

此视图在_Layout.cshtml 中呈现如下:

<div id="footer" class="container-fluid">
    @{ Html.RenderAction("Footer", "Navigation"); }
</div>

但是我得到这个解析器错误:

if 块缺少结束“}”字符。确保此块中的所有“{”字符都有一个匹配的“}”字符,并且没有任何“}”字符被解释为标记。

但我最后关闭了if-block。我还尝试使用 &lt;text&gt; 标签包围内容,或者在两个跨度之前使用 @:

我在什么时候违反了语法?

【问题讨论】:

  • 我推测模型的属性实际上不是.Foo.Bar,你能显示真实的代码吗?
  • 现在包含真正的代码

标签: c# asp.net asp.net-mvc razor asp.net-mvc-5


【解决方案1】:

这违反了语法:

 @model.AnzeigeName

您的所有 model.property 设置都应为大写,即

 @Model.AnzeigeName

您也可以使用@:输出,请尝试以下操作:

@if (User.Identity.IsAuthenticated && Model != null)
{
    @:<span class="span2">Eingelogt als @Model.AnzeigeName</span>
    @:<span class="offset1 span9">Zuletzt eingelogt mit "@Model.LastLoginIp" um "@Model.LastLoginDate"</span>
}

【讨论】:

    猜你喜欢
    • 2019-12-21
    • 1970-01-01
    • 2021-07-02
    • 2021-01-17
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    相关资源
    最近更新 更多