Общественная переопределение SharePoint 2007 ToolPart[] Ошибка GetToolParts()?

В этой веб-части "Пользовательский запрос контента" работает следующий код. Я могу изменить заголовок веб-части и заголовок панели инструментов:

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();
    }
}

введите описание изображения здесь

Но если я изменю позицию в массиве (это порядок отображения свойств веб-части), изменение названия веб-части больше не будет работать!

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

введите описание изображения здесь

Что здесь не так? Это ошибка? Изменение названия панели инструментов по-прежнему работает.

0 ответов

Другие вопросы по тегам