Полагаю, ваша проблема в том, что вы пытались использовать то же имя параметра item
во внутреннем параметре format
. Вы не можете использовать одно и то же имя параметра во вложенных лямбда-выражениях. Вы можете найти здесь больше о лямбда-выражениях.
Поэтому вам нужно использовать другое имя параметра (например, subItem
) для внутреннего формата:
...
@topGrid.GetHtml(columns:
topGrid.Columns(
topGrid.Column("Index"),
topGrid.Column("SubItems", format: (item) =>
{
WebGrid subGrid = subGrid = new WebGrid(item.SubItems);
return subGrid.GetHtml(
columns: subGrid.Columns(
subGrid.Column("A", format: (subItem) => string.Format("Formatted: {0}", subItem.A)),
subGrid.Column("B")
)
);
})
)
)
...