C# 第7版与第8.2版中的CustomTableProvider

C# 第7版与第8.2版中的CustomTableProvider,c#,kentico,C#,Kentico,我是Kentico的新手,继承了一些代码 在Kentico的第7版中,将创建一个CustomTableProvider,如下所示: 新建CustomTableItemProvider(CMSContext.CurrentUser) 根据,Kentico建议将上述通话替换为本次通话: 新建CustomTableItemProvider(System.String) 我看到有两个问题。首先,建议的构造函数被标记为过时的。其次,即使我决定使用新的构造函数,我也不清楚以前属于CMSContext.Cur

我是Kentico的新手,继承了一些代码

在Kentico的第7版中,将创建一个
CustomTableProvider
,如下所示:

新建CustomTableItemProvider(CMSContext.CurrentUser)

根据,Kentico建议将上述通话替换为本次通话:

新建CustomTableItemProvider(System.String)

我看到有两个问题。首先,建议的构造函数被标记为过时的。其次,即使我决定使用新的构造函数,我也不清楚以前属于
CMSContext.CurrentUser
类型的参数应该如何映射到
字符串。文件上什么也没说


获取语义上等同于使用版本7 API创建的
CustomTableProvider
的正确方法是什么?

在v8.2 API中,构造函数不再接受CMSContext.CurrentUser,而是需要一个代表CustomTable类名的System.String

因此,这将实例化CustomTableItemProvider的对象:

string customTableClassName = "customtable.sampletable";
CustomTableItemProvider ctip = new CustomTableItemProvider(customTableClassName);
但是,正如您在8.2中提到的,它被标记为过时,在v8.2中,有新的API方法可用于CustomTables,如果您可以提供代码示例或解释您试图实现的目标,我可以提供更具体的答案和示例

您还可以查看Kentico解决方案的源代码。其中包括一些通过API使用CustomTables的通用示例。解决方案中的路径是:


\CMSAPIExamples\Code\Development\CustomTables\Default.aspx.cs

您能提供一些代码或解释您的代码试图对对象做什么吗?它是尝试在CustomTable中插入新项还是更新现有项?