使用Razor语法的困难

问题描述:

我正在尝试使Telerik Kendo网格的审计记录与子网格呈现每个主要记录的详细信息。使用Razor语法的困难

我收到一个语法错误,我不明白。

@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: Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement

此所述Telerik的示例here之后被建模。

我对Razor语法有什么错误? <%语法对我来说也不适用。

+3

尝试''没有剃须刀'@' – 2013-04-26 16:43:07

+0

即移动错误到下一行:'CS1646:关键字,标识符,或字符串预期在逐字说明符之后:@'。如果我删除该行上的@,则该错误向后移动一行,并读取:'CS1525:无效的表达式'''' – Amy 2013-04-26 17:29:40

+0

我不认为你需要块内的'@'标识符。尝试删除它。 – 2013-04-26 17:47:48

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

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