0

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

在此处输入图像描述

但我现在被困在我的 webpart 的代码隐藏中。如何在代码隐藏中获取完整路径,获取所有图像并在我的 webpart 上为每个图像添加一个。

我不能显示太多代码,因为我只了解了 webpart(属性)的基本知识。我在网上找不到这样的例子,我查看了 kentico 的现有 webparts,但没有找到任何东西。

谢谢你。

4

3 回答 3

0

对于 webpart 的每个属性,您可以在代码中创建公共属性,并使用 get 和 set。例如,假设我有一个 webpart 属性,ImagePath 然后在后面的代码中

 public string ImagePath
    {
        get
        {
            return ValidationHelper.GetString(GetValue("ImagePath"),defaultPath);
        }
        set
        {
            SetValue("ImagePath", value);
        }
    }

你可以在你的代码中使用这个公共属性

于 2013-12-05T14:09:48.047 回答
0

在您的 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);
    }
}

...

于 2013-11-22T07:15:45.033 回答
0

我不清楚您实际上需要帮助的项目。

  • 您是否在 Web 部件中设置属性值时遇到问题
  • 您是否无法从 webpart 属性中获取正确的值
  • 您是否无法获取文件

关于获取文档列表,请使用以下任一类型来完成此操作。

TreeHelper 或 TreeProvider 类。

于 2013-10-23T06:24:47.507 回答