我在开发可配置的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")]
时,它可以放置多次,但没有可配置的属性。
你知道如何处理吗?
答案 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文件并部署它。