Sharepoint 2007在同一页面上的多个可配置Web部件

时间:2014-04-15 07:16:30

标签: c# sharepoint sharepoint-2007 moss

我在开发可配置的webPart时遇到问题,可以在一个站点上多次放置。

这是我的实际代码:

[XmlRoot(Namespace = "TestWebPart")]
public class TestWebPart : Microsoft.SharePoint.WebPartPages.WebPart
{
    public TestWebPart()
    {
        this.ExportMode = WebPartExportMode.All;
    }

    private string listName;

    // SharePoint setting with required attributes
    [Browsable(true),
     Category("List Config"),
     WebPartStorage(Storage.Shared),
     FriendlyName("List Name"),
     Description("Name of a list to get images")]
    public string ListName
    {
        get { return listName; }
        set { listName = value; }
    }

    protected override void Render(HtmlTextWriter writer)
    {
        writer.Write("test");
    }
}

使用此代码,我只能在每个站点放置一次此WebPart。

我尝试将WebPartStorage更改为Personal但没有帮助。

当我从课程中删除[XmlRoot(Namespace = "TestWebPart")]时,它可以放置多次,但没有可配置的属性。

你知道如何处理吗?

2 个答案:

答案 0 :(得分:0)

请尝试以下操作:

1)删除[XmlRoot(Namespace = "TestWebPart")]行。

2)从System.Web.UI.WebControls.WebParts.WebPart而不是Microsoft.SharePoint.WebPartPages.WebPart继承您的网络部分。

3)使用以下属性作为Web部件属性:

   WebBrowsable(true), 
   Personalizable(PersonalizationScope.Shared), 
   SPWebCategoryName("List Config"), 
   WebDisplayName("List Name"),
   WebDescription("Name of a list to get images")

答案 1 :(得分:0)

我已修复此问题,即创建.dwp文件而不是.webpart文件并部署它。