创建一个自定义ToolPart

***********************************************************************************
*                  版权声明                        
*         此文章为ocean所有,版权归ocean所有,任何网站
*和 媒体转载必须包含此段声明,否则将视为侵权,作者将 
* 保留一切权力。此声明为此文章中不可或缺的一部分。 
* 作者网名:ocean                                  
* 作者email:ocean@forever.net.cn                  
* 作者网站:http://www.oceanstudio.net             
*                     http://sps.oceanstudio.net             
* 作者blog:博客园,http://www.cnblogs.com/ocean  
*                 ocean's blog,http://www.oceanstudio.net/sps/blog 
* 此文章发表时间:2005年2月19日                     
* 此文章源:http://www.cnblogs.com/ocean/archive/2005/02/19/106154.html                                     
************************************************************************************


     示例WebPart是一个图片查看器,这个图片查看器可以支持在图片上设置超级链接。这个WebPart点击此处下载,带源码。效果演示可以点击此处 。

     如果你想查看更多的WebPart,请访问:webpart演示和下载
 
     这个WebPart的ToolPart中有一个自定义的WebPart,如下图:


    可以看到我在最上面增加了版权信息,这个版权信息是一个ToolPart。同时大家发现自定义属性的位置也变了。如何做的呢?自定义一个ToolPart比较简单,只要新建项,然后选择建立一个新的ToolPart就可以了。建立之后就是示例中的CopyrightToolPart.cs,大家可以看到这个类是继承Microsoft.SharePoint.WebPartPages.ToolPart的。只要实现了RenderToolPart方法就可以了。实现如下:
/// <summary>
        
/// Render this tool part to the output parameter specified.
        
/// </summary>
        
/// <param name="output">The HTML writer to write out to </param>

        protected override void RenderToolPart(HtmlTextWriter output)
        
{
            output.WriteLine(
"<div style='align:center;width:100%'><a href='http://www.oceanstudio.net' target='blank'>海洋工作室</a></div>");
            output.WriteLine(
"<div style='align:center;width:100%;margin-top:3px'>版权所有:<a href='mailto:ocean@forever.net.cn'>ocean</a><div>");
        }
    然后在WebPart文件中,就是示例中的ImageViewer.cs中,实现GetToolParts方法,原来这个方法是注释起来的,把注释去掉,然后把原来的new ToolPart[2]改成new ToolPart[3],再加几行代码就可以了。此方法如下:
/// <summary>
        
///    This method gets the custom tool parts for this Web Part by overriding the
        
///    GetToolParts method of the WebPart base class. You must implement
        
///    custom tool parts in a separate class that derives from 
        
///    Microsoft.SharePoint.WebPartPages.ToolPart. 
        
///    </summary>
        
///<returns>An array of references to ToolPart objects.</returns>

        public override ToolPart[] GetToolParts()
        
{
            ToolPart[] toolparts 
= new ToolPart[3];
            WebPartToolPart wptp 
= new WebPartToolPart();
            CustomPropertyToolPart custom 
= new CustomPropertyToolPart();
            toolparts[
1= custom;
            toolparts[
2= wptp;
            toolparts[
0= new CopyrightToolPart();
            
return toolparts;
        }

ok,如此就可以了。就可以在WebPart中写明你自己的版权了,哈哈。

欢迎访问海洋工作室。

posted on 2005-02-19 21:42  ocean  阅读(6062)  评论(3编辑  收藏  举报

导航