2013-04-26 49 views
3

我正在嘗試使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

回答

1

嵌套這樣是棘手的,但試試這個語法

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