代码改变世界

ToolPart的简单开发

  努力学习的小熊  阅读(1478)  评论(0编辑  收藏  举报

首先,我们在上一个例子中添加一个自定义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";

         }
   

(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编译成功后并部署完毕即可看到相应的效果。

点击应用后即可改变WebPart1的显示内容

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示