我需要为kentico项目创建自定义webpart。我在webpart中添加了一个属性,用于设置图像的路径。用户需要在他想要的文件夹的路径中存档(见截图,这可能是路径)
但我现在已经陷入了我的webpart的代码隐藏中。如何在代码隐藏中获取完整路径,获取所有图像并在我的webpart上为每个图像添加。
我无法显示更多代码,因为我只获得了webpart(属性)的基础知识。我无法在网上找到这样的例子,并在现有的kentico网站上发现,但没有找到任何东西。
谢谢。
答案 0 :(得分:0)
我不清楚你真正需要帮助的项目。
关于获取文档列表,请使用以下任一类型来完成此操作。
TreeHelper或TreeProvider类。
答案 1 :(得分:0)
在您的WebPart中,确保使用允许您选择路径的表单控件(CMSSiteManager /开发/表单控件)。像“单路径选择器”之类的东西。 然后在您的代码中,您将创建一个与使用表单控件时设置的列名相同的属性。
在您描述的情况下,所有图像都是节点树下的节点,因此您可以将它们称为:
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);
}
}
...
答案 2 :(得分:0)
对于webpart的每个属性,您可以在后面的代码中创建公共属性,并使用get和set。
例如,
假设,我有一个webpart属性ImagePath
然后在代码背后
public string ImagePath
{
get
{
return ValidationHelper.GetString(GetValue("ImagePath"),defaultPath);
}
set
{
SetValue("ImagePath", value);
}
}
您可以在代码中使用此公共属性