首先,我们在上一个例子中添加一个自定义ToolPart的类ToolPart的简单开发 _休闲
起名为CustomToolPart.cs
然后打开我们新建的这个自定义ToolPart类。
我们实现一个简单的功能,在ToolPart中放置一个TextBox,然后将这个TextBox中设置的内容输出到WebPart上的Label控件中。
我们可以看到这个类是继承于Microsoft.SharePoint.WebPartPages.ToolPart类的。
(1) 实例化一个TextBox
protected TextBox tbOutPut;
(2) 在它的构造函数中指定这个ToolPart的标题的内容
         public CustomToolPart()
         {
                 this.Title = "CustomToolPart";
         }
ToolPart的简单开发 _开发_02
(3) 这时我们需要重载它的CreateChildControls方法,来实现这个TextBox控件的添加
         protected override void CreateChildControls()
         {
              this.tbOutPut = new TextBox();
              this.Controls.Add(this.tbOutPut);
         }
(4) ApplyChanges函数中——对应的是应用按钮,将具体的操作放在这里
         public override void ApplyChanges()
         {
              // Apply property values here.
              ((WebPart1)this.ParentToolPane.SelectedWebPart).Text = this.tbOutPut.Text;
         }
其中的this.ParentToolPane.SelectedWebPart可以得到当前ToolPane关联的WebPart,然后就可以对其进行相应的操作。
(5) 最后将我们的这个控件Render即可
         protected override void RenderToolPart(HtmlTextWriter output)
         {
              output.WriteLine("This is a Custom ToolPart.<br>");
              this.tbOutPut.RenderControl(output);
         }
(6) 最后我们在相应的这个WebPart代码文件中将这个ToolPart加入到自定义面板中即可。
         public override ToolPart[] GetToolParts()
         {
              ToolPart[] toolparts = new ToolPart[3];
              WebPartToolPart wptp = new WebPartToolPart();
              CustomPropertyToolPart custom = new CustomPropertyToolPart();
              CustomToolPart myToolPart = new CustomToolPart();
              toolparts[1] = wptp;
              toolparts[2] = custom;
              toolparts[0] = myToolPart;
              return toolparts;
         }
将这个WebPart编译成功后并部署完毕即可看到相应的效果。
ToolPart的简单开发 _职场_03
点击应用后即可改变WebPart1的显示内容
ToolPart的简单开发 _开发_04