我是 Kentico 的新手,继承了一些代码。
在 Kentico 的第 7 版中,CustomTableProvider
是这样创建的:
新的 CustomTableItemProvider(CMSContext.CurrentUser)
根据documentation , 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
关于c# - 版本 7 与 8.2 中的 CustomTableProvider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33745922/