how to set the title of a webpart without modifying the webpart's property in IE the first time when it is imported and allow user to change the title in IE later by modify the webpart's property. i try many ways ,but the below is one of those, please let me know if anyone find a better way
1. define a public property
string webpartTitle = "WebPlaza Admin";
const string WEB_PART_TITLE = "WebPlaza Admin";
/// <summary>
/// custom web part title
/// </summary>
[Browsable(true),
Category("Miscellaneous"),
DefaultValue(WEB_PART_TITLE),
WebPartStorage(Storage.Personal),
FriendlyName("Custom WebPart Title"),
Description("use this property to set the WebPart Title")]
public string WebPartTitle
{
get
{
return webpartTitle;
}
set
{
webpartTitle = value;
}
}
2. override onPrereder method
protected override void OnPreRender(EventArgs e)
{
this.Title = this.WebPartTitle;
base.OnPreRender (e);
// this.SaveProperties = true;
}
3. override GetToolParts method
public override ToolPart[] GetToolParts()
{
ToolPart[] toolparts = new ToolPart[2];
WebPartToolPart wptp = new WebPartToolPart();
CustomPropertyToolPart custom = new CustomPropertyToolPart();
toolparts[0] = wptp;
hide the default title property
wptp.Hide(Microsoft.SharePoint.WebPartPages.WebPartToolPart.Properties.Title);
toolparts[1] = custom;
return toolparts;
}