我需要为 kentico 项目创建自定义 webpart。我向 Web 部件添加了一个属性,用于设置图像的路径。用户需要在他想要的文件夹的路径中归档(见截图,这可以是路径)

但我现在被困在我的 webpart 的代码隐藏中。如何在代码隐藏中获取完整路径,获取所有图像并在我的 webpart 上为每个图像添加一个。
我不能显示太多代码,因为我只了解了 webpart(属性)的基本知识。我在网上找不到这样的例子,我查看了 kentico 的现有 webparts,但没有找到任何东西。
谢谢你。
对于 webpart 的每个属性,您可以在代码中创建公共属性,并使用 get 和 set。例如,假设我有一个 webpart 属性,ImagePath
然后在后面的代码中
public string ImagePath
{
get
{
return ValidationHelper.GetString(GetValue("ImagePath"),defaultPath);
}
set
{
SetValue("ImagePath", value);
}
}
你可以在你的代码中使用这个公共属性
在您的 WebPart 中,确保您使用的是允许您选择路径的表单控件 (CMSSiteManager/Development/Form Controls)。类似于“单路径选择器”。然后在您后面的代码中,您将创建一个与使用表单控件时设置的列名同名的属性。
在您描述的情况下,所有图像都将是节点树下的节点,因此您可以这样称呼它们:
string folder = "/images/%"; // this will be populated from WebPart via a property
List<string> paths = new List<string>();
TreeProvider treeProvider = new TreeProvider();
TreeNodeDataSet imageNodes = treeProvider.SelectNodes(CMSContext.CurrentSiteName, folder, CMSContext.PreferredCultureCode, false);
foreach (TreeNode imageNode in imageNodes)
{
string path = ValidationHelper.GetString(imageNode["YourImageColumnName"], "");
if (path.Length > 0)
{
paths.Add(path);
}
}
...
我不清楚您实际上需要帮助的项目。
关于获取文档列表,请使用以下任一类型来完成此操作。
TreeHelper 或 TreeProvider 类。