Общественная переопределение 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() };
}
Что здесь не так? Это ошибка? Изменение названия панели инструментов по-прежнему работает.