【问题标题】:How to disable Razor syntax in Razor scope?如何在 Razor 范围内禁用 Razor 语法?
【发布时间】:2018-09-14 09:20:24
【问题描述】:

我想在 Razor 的范围内禁用 Razor 语法,仅针对写入该 HTML 的文本

这里的菜单分隔符只有在满足条件 (expr) 时才想显示

@if (expr)
{
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
}

抛出

Invalid expression term '}'
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
                                                          ^
; expected

由于那个'|'

但我想将该“字符串”显示为纯 HTML。

【问题讨论】:

  • 尝试使用&lt;text&gt;...&lt;/text&gt; 元素:&lt;text&gt;&lt;a asp-action="Edit" asp-route-id="@item.Id"&gt;Edit&lt;/a&gt; | &lt;/text&gt;

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


【解决方案1】:

您可以使用&lt;text&gt; syntax 在 Razor 块中呈现 HTML 标签和文字字符:

@if (expr)
{
    <text>
    <a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
    </text>
}

Razor 会将包裹在 &lt;text&gt; 元素中的所有元素视为 HTML 内容,以在视图页面中呈现,而不是遵循 C# 语言语法规则的服务器端代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2011-03-23
    • 2018-05-19
    • 2011-05-02
    相关资源
    最近更新 更多