【问题标题】:Telerik UI for MVC and ASP.NET CORE Lambda ExpressionTelerik UI 用于 MVC 和 ASP.NET CORE Lambda 表达式
【发布时间】:2017-01-09 21:10:33
【问题描述】:

我正在尝试通过 Telerik UI for MVC 在 ASP.NET Core MVC Web 应用程序中实现 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 一起正常工作?

【问题讨论】:

    标签: asp.net-mvc razor telerik asp.net-core entity-framework-core


    【解决方案1】:

    这也是什么绑定columns.Template(@&lt;text&gt;&lt;/text&gt;).Title("LambdaColumn"); @* Error on this line *@

    columns.Bound(yourlambda).Template(@&lt;text&gt;&lt;/text&gt;).Title("LambdaComlumn");??

    回过头来看它与上一行完全相关,你不能使用字符串值作为绑定的名称,它必须是一个 lambda。

    //snip

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

    //c for column, pneumonic in nature but c is also related to the Type used in creating the grid. @(Html.Kendo().Grid&lt;Customer&gt;())

    //endsnip

    我也不知道动态在网格上的效果如何。在我对 RadGrid 的实验和使用中,它非常可靠,除了网格实现或文档中使用的具体类型之外,从未见过其他任何东西

    【讨论】:

    • 感谢您回复我!不应该有任何明确绑定到第二列的内容。我最终想要做的是:Dynamic Columns。你是对的,代码不是很实用。它只是演示框架之间差异的最小代码,因为它在 asp.net 4 中“工作”但在 asp.net 核心中“工作”。第一列就在那里,所以网格在渲染时会有两列。
    • 是的,因此使用了模板,但我怀疑实际错误出现在前一行,特定于尝试字符串到 lambda 转换,我希望编译器会用僵硬的中指,所以我敢打赌如果你在 Bound() func 的第一行中给它一个 lambda,那么它会起作用
    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多