版本7中的CustomTableProvider与8.2

时间:2015-11-16 22:35:40

标签: c# kentico

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

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

new CustomTableItemProvider(CMSContext.CurrentUser)

根据documentation,Kentico建议上述电话应该替换为此电话:

new CustomTableItemProvider(System.String)

我看到有两个问题。首先,推荐的构造函数标记为过时。其次,即使我决定使用新构造函数,我也不清楚过去属于CMSContext.CurrentUser类型的参数应该如何映射到String。文档没有说什么。

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

1 个答案:

答案 0 :(得分:1)

在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 \代码\发展\ CustomTables \ Default.aspx.cs