0

kentico プロジェクトのカスタム Web パーツを作成する必要があります。画像へのパスを設定するプロパティを Web パーツに追加しました。ユーザーは、必要なフォルダーへのパスにファイルする必要があります (スクリーンショットを参照してください。これはパスである可能性があります)。

ここに画像の説明を入力

しかし、私は今、自分の Web パーツのコードビハインドで立ち往生しています。コード ビハインドでフル パスを取得し、すべての画像を取得して、各画像を Web パーツに追加するにはどうすればよいですか。

Web パーツの基本 (プロパティ) しか取得していないため、多くのコードを表示できません。ネット上でこの例を見つけることができず、kentico の既存の Web パーツを調べましたが、何も見つかりませんでした。

ありがとうございました。

4

3 に答える 3

0

Web パーツの各プロパティに対して、コード ビハインドでパブリック プロパティを作成し、get と set を使用できます。たとえば、ImagePath コード ビハインドにWeb パーツ プロパティがあるとします。

 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 パーツでプロパティ値を設定する際に問題がありますか?
  • Web パーツのプロパティから正しい値を取得できませんか?
  • 書類が届かない

ドキュメントのリストの取得に関しては、次のいずれかのタイプを使用してこれを実現します。

TreeHelper または TreeProvider クラス。

于 2013-10-23T06:24:47.507 に答える