我正在尝试制作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>
    }))


随后出现错误消息,其中@<text>行标记为错误源:


  CS0201:仅分配,呼叫,递增,递减,等待和新
  对象表达式可以用作语句


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

Razor语法有什么问题?

最佳答案

这样的嵌套比较棘手,但是请尝试使用以下语法

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

08-18 01:29