All that you need is to add ShowToolPane2Wrapper takes 3 parms.
<a href=\"javascript:ShowToolPane2Wrapper('Edit', this,'" + this.ID + "')\">some text</a>
Note: "ID" is the webpart ID, an VisualWebPart uses a UserControl to hold the WebParts code, so use Parent.ID.
All Code
using System; using System.Globalization; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.SharePoint; namespace SomeVisualWebPart.VisualWebPart1 { public partial class VisualWebPart1UserControl : UserControl { public string ListName { get; set; } private Label openToolPaneMessage; protected void Page_Load(object sender, EventArgs e) { this.Controls.Clear(); if (isWebPartConfigured(this.ListName)) { // Add Controls as normal } else { this.Controls.Add(this.openToolPaneMessage); } } protected override void OnInit(EventArgs e) { this.openToolPaneMessage = new Label(); this.openToolPaneMessage.Style.Add(HtmlTextWriterStyle.PaddingTop, "5px"); this.openToolPaneMessage.Text = string.Format(CultureInfo.CurrentCulture, "Web part is not configured. <a href=\"javascript:ShowToolPane2Wrapper('Edit', this,'{0}')\">Open the tool pane</a> to set the web part properties.", this.Parent.ID); base.OnInit(e); } private bool isWebPartConfigured(string listName) { bool isWebPartConfigured = false; if (!string.IsNullOrEmpty(listName)) { SPList tmpList = SPContext.Current.Web.Lists.TryGetList(listName); if (tmpList != null) { isWebPartConfigured = true; } } return isWebPartConfigured; } } }
Note:
In SharePoint 2007 this has a 'MSOTlPn_' prefix, MSOTlPn_ShowToolPane2Wrapper.
Result:
No comments:
Post a Comment