使用 telerik MVC 网格设置 DataKeys 集合的 Lambda 表达式错误

本文关键字:Lambda 表达式 错误 集合 DataKeys telerik MVC 网格 设置 使用 | 更新日期: 2023-09-27 17:57:04

我对Telerik MVC网格有以下视图:

@model IEnumerable<QuoteManagement.Data.Traveler>
@(Html.Telerik().Grid(Model)
    .Name("Travelers")
    .DataKeys(k => k.DataKeys.Add(t => t.TravelerID))     //<-- error on this line
    .DataBinding(db => db.Server()
        .Delete("Delete","Traveler")
        .Update("Edit","Traveler")
        )
    .Columns(c =>
        {
            c.Command(cmd => {cmd.Edit(); cmd.Delete(); });
            c.Template(col => String.Format("{0} {1}", col.FirstName, col.LastName)).Title("Name");
            c.Bound(col => col.Birthdate);
            c.Bound(col => col.Notes);
        }))

我收到以下编译错误:无法将 lambda 表达式转换为类型"Telerik.Web.Mvc.UI.IGridDataKey",因为它不是委托类型

QuoteManagement.Data.Traveler 是一种 EF 实体类型。

使用 telerik MVC 网格设置 DataKeys 集合的 Lambda 表达式错误

修复了它 - 这很简单 - 当然:

我更改了这一行:

.DataKeys(k => k.DataKeys.Add(t => t.TravelerID))     

对此:

.DataKeys(k => k.Add(t => t.TravelerID))     

现在它起作用了。