【问题标题】:Difficulty with Razor syntaxRazor 语法的困难
【发布时间】:2013-04-26 16:37:56
【问题描述】:

我正在尝试制作一个 Telerik Kendo 审核记录网格,其中一个子网格显示每个主要记录的详细信息。

我遇到了一个我不理解的语法错误。

@model IEnumerable<AuditRecord>

@(Html.Kendo().Grid(Model)
    .Name("AuditGrid")
    .DetailTemplate(auditrec =>
    {
        @<text>
        @(Html.Telerik()
             .Grid(auditrec.Details)
             .Name("Detail_" + auditrec.ID.ToString()))
        </text>
    }))

错误消息如下,@&lt;text&gt; 行标记为错误源:

CS0201:仅赋值、调用、递增、递减、等待和新建 对象表达式可以作为语句使用

这是根据 Telerik 示例 here 建模的。

我对 Razor 语法有什么误解?

【问题讨论】:

  • 在不使用 Razor 的情况下尝试 &lt;text&gt; @
  • 这会将错误移至下一行:CS1646: Keyword, identifier, or string expected after verbatim specifier: @。如果我删除该行上的@,则错误会向上移动一行并显示为:CS1525: Invalid expression term '&lt;'
  • 我认为您不需要块内的@ 标识符。尝试删除它。
  • 它只是将错误移回一行并说

标签: c# asp.net-mvc razor asp.net-mvc-4 kendo-grid


【解决方案1】:

这样的嵌套很棘手,但试试这个语法

@{Html.Kendo().Grid(Model)
    .Name("AuditGrid")
    .DetailTemplate(auditrec =>
    {
        @<text>
        @{@Html.Telerik()
             .Grid(auditrec.Details)
             .Name("Detail_" + auditrec.ID.ToString())
        }
        </text>
    })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多