Telerik UI for MVC和ASP.NET CORE Lambda表达式

3
我正在尝试在 ASP.NET Core MVC 网页应用程序中通过 Telerik UI for MVC 实现 Kendo 表格。 在使用带有 lambda 表达式的模板列时,尝试获取以下错误,涉及 @< text > 表达式:

无法将lambda表达式转换为字符串类型,因为它不是委托类型

如果我使用 Telerik 模板启动全新的项目并粘贴以下代码,则 ASP.NET 4.5 应用程序将正常运行,但 ASP.NET Core 将返回错误。
@(Html.Kendo().Grid<dynamic>()
    .Name("Something")
    .Columns(columns =>
    {
        columns.Bound("ColumnName");
        columns.Template(@<text></text>).Title("LambdaColumn"); @* Error on this line *@
    })
)

我认为这是由于新版EntityFramework的更改导致的问题。如何使lambda表达式在EntityFrameworkCore中正确运行?

1个回答

0

这个绑定到什么了呢 columns.Template(@<text></text>).Title("LambdaColumn"); @* 这一行出错了 *@

columns.Bound(yourlambda).Template(@<text></text>).Title("LambdaComlumn");??

回顾整个过程与前一行完全相关,您不能使用字符串值作为绑定名称,它必须是 lambda。 < p > < code > //剪辑

.Columns(columns =>
    {
        columns.Bound(c => c.LastName).Title("LastName");
        columns.Template(@<text></text>).Title("LambdaColumn"); @* Error on this line *@
    })

//c代表列,是一种助记符,但c也与创建网格时使用的类型相关。@(Html.Kendo().Grid<Customer>())

//endsnip

此外,我不知道动态与网格的配合效果如何。我相信在我的实验和使用RadGrid时,它一直非常稳定,从未看到过除了具体类型之外的任何其他东西被用于网格的实现或文档中。


感谢您回复我!第二列不应该有任何明确的绑定。我最终要做的是这样的:动态列。您说得对,代码并不是非常实用。这只是最小化的代码,演示了框架之间的差异,因为它在asp.net 4中“工作”,但在asp.net core中不起作用。第一列只是为了在呈现时网格具有两列。 - Allen G.
是的,因此使用模板,但我怀疑实际错误在前一行,这是尝试将字符串转换为lambda表达式的特定错误,我预计编译器会给出一个严格的中指,所以我打赌如果你在Bound()函数内的第一行中给它一个lambda表达式,它就会起作用。 - mvermef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接