0

我使用 Telerik 控件继承了一个 ASP.Net MVC 3 项目。我正在将所有内容更新到 Kendo UI。将功能链接到网格(或任何其他)控件时,我遇到的问题适用于 Telerik 和 Kendo。

在 Telerik/kendo 网站上的所有代码示例中,我在声明网格时看到以下内容:

@(Html.Telerik().Grid<QuotationItemViewModel>()
          .Name("quotationProductsGrid")
          .DataKeys(keys => keys.Add(p => p.ID))

但是,在我继承的项目中,相同的代码将这样编写:

<%= Html.Telerik().Grid<QuotationItemViewModel>()
          .Name("quotationProductsGrid")
          .DataKeys(Function(dataKeys) dataKeys.Add(Function(p) p.ID))

当试图链接其他函数时——或者只是修改现有函数——keys => keys.Add(p => p.ID)语法会抛出“未声明键”错误。

有人可以解释或提供有关语法差异以及Function(datakeys) dataKeys.Add(Function(p) p.ID)可能使用的原因的文档吗?它与代码嵌入页面的方式有关吗?

4

1 回答 1

1

第一个代码是 C#(请参阅Lambda 表达式 (C#)),而第二个示例是 Visual Basic(请参阅Lambda 表达式 (Visual Basic))。需要使用正确的编程语言语法,否则会出现大量语法错误。

呈现的语法在功能上是等效的,与 Telerik/Kendo 无关(更不用说与任何客户端有关);相反,语法的正确选择与页面视图所使用的语言(例如 C#/VB.NET)直接相关。

页面使用的语言由@Page指令的 Language 属性控制。

于 2013-10-23T18:29:11.453 回答