sharepoint中自定义webpart属性面板(Web Part Properties(ToolPart))

本文介绍如何在 SharePoint 中创建自定义 WebPart,并实现其属性的个性化设置。通过示例代码展示了如何定义 WebPart 属性及使用自定义工具面板进行属性编辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在sharepoint中webpart是少不了的,要是定制自己的webpart,webpart属性也少不了,但是微软提供给我们的方式有限,见:

http://msdn.microsoft.com/en-us/library/dd584174.aspx

但是这个方式还是比较好的http://msdn.microsoft.com/en-us/library/dd584178(office.11).aspx

这也有一篇http://www.zimmergren.net/archive/2008/11/29/how-to-custom-web-part-properties-toolpart.aspx

 

webpart代码

ContractedBlock.gifExpandedBlockStart.gifCode
using System;
using System.Runtime.InteropServices;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Serialization;

using Microsoft.SharePoint;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;

namespace Zimmergren.CustomToolPart
{
    [Guid(
"dcc60e60-5528-48c5-b8b5-aeecf0822300")]
    
public class WebPart111 : Microsoft.SharePoint.WebPartPages.WebPart
{
        
public WebPart111()
        {
            
this.ExportMode = WebPartExportMode.All;
        }
        
        
public string Property1
        {
            
get
            {
                
return _property1;
            }
            
set
            {
                _property1 
= value;
            }
        }
        
string _property1;
        
public string Property2
        {
            
get
            {
                
return _property2;
            }
            
set
            {
                _property2 
= value;
            }
        }
        
string _property2;

        
protected override void Render(HtmlTextWriter writer)
        {
            
base.Render(writer);
            writer.Write(Property1);
            writer.Write(
"<br/>");
            writer.Write(Property2);
        }

        
public override ToolPart[] GetToolParts()
        {
            ToolPart[] allToolParts 
= new ToolPart[3];
            WebPartToolPart standardToolParts 
= new WebPartToolPart();
            CustomPropertyToolPart customToolParts 
= new CustomPropertyToolPart();

            allToolParts[
0= standardToolParts; 
            allToolParts[
1= customToolParts;
            allToolParts[
2= new CustomToolPart();
            
            
return allToolParts;
        }
    }
}

 

另外新加一个cs文件如下

ContractedBlock.gifExpandedBlockStart.gifCode
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;

namespace Zimmergren.CustomToolPart
{
    
public class CustomToolPart : Microsoft.SharePoint.WebPartPages.ToolPart
    {
        DropDownList ddl;
        Panel toolPartPanel;
        TextBox tb;

        
protected override void CreateChildControls()
        {
            toolPartPanel 
= new Panel();
            ddl 
= new DropDownList();
            ddl.ID 
= "ddl";

            
// Simply getting the lists of the current web, and displaying them in the dropdown-list.
            SPListCollection lists = SPContext.Current.Web.Lists;
            
foreach (SPList list in lists)
                ddl.Items.Add(list.Title);
            

            tb 
= new TextBox();
            tb.ID 
= "tb";

            toolPartPanel.Controls.Add(ddl);
            toolPartPanel.Controls.Add(tb);
            
            Controls.Add(toolPartPanel);
            
base.CreateChildControls();
        }

        
public override void ApplyChanges()
        {
            WebPart111 wp 
= (WebPart111)this.ParentToolPane.SelectedWebPart;
            wp.Property1 
= ddl.SelectedValue;
            wp.Property2 
= tb.Text;
        }
 

    }
}

 

简单的结果

2009051311230713.jpg

稍微复杂点的

2009051311235097.jpg

 

属性面板选list 的参见:http://www.tonstegeman.com/Blog/Lists/Posts/Post.aspx?List=70640fe5-28d9-464f-b1c9-91e07c8f7e47&ID=72

 

转载于:https://www.cnblogs.com/geek007/archive/2009/05/13/1455757.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值