1

このカスタム コンテンツ クエリ Web パーツでは、次のコードが機能します。Web パーツのタイトルと ToolPart のタイトルを変更できます。

public class CustomWebPart1 : ContentByQueryWebPart
{
    public override ToolPart[] GetToolParts()
    {
        ToolPart[] toolPartArray = base.GetToolParts();
        return new ToolPart[] { new CustomContentQueryWebPartToolPart(), toolPartArray[0], toolPartArray[1] };
    }
}

public class CustomContentQueryWebPartToolPart : ToolPart
{
    TextBox txt1;
    CustomWebPart1 wp;

    public CustomContentQueryWebPartToolPart()
    {
        this.Title = "My Custom Properties";
    }

    protected override void CreateChildControls()
    {
        txt1 = new TextBox();
        this.Controls.Add(txt1);

        base.CreateChildControls();
    }

    public override void ApplyChanges()
    {
        this.Title = "ToolPart Title: " + txt1.Text;

        wp = this.WebPartToEdit as CustomWebPart1;

        wp.Title = "WebPart Title: " + txt1.Text;

        base.ApplyChanges();
    }
}

ここに画像の説明を入力

しかし、配列内の位置 (Web パーツ プロパティの表示順序) を変更すると、Web パーツのタイトルを変更しても機能しなくなります。

    public override ToolPart[] GetToolParts()
    {
        ToolPart[] toolPartArray = base.GetToolParts();
        return new ToolPart[] { toolPartArray[0], toolPartArray[1], new CustomContentQueryWebPartToolPart() };
    }

ここに画像の説明を入力

ここで何が問題なのですか?これはバグですか?ToolPart タイトルの変更は引き続き機能します。

4

0 に答える 0