我希望将自定义属性添加到工具部件。我已经能够根据需要添加文本框。我已经能够输入值并在webpart中显示它。
问题是当我编辑webpart时 - 面板弹出但我添加的控件没有填充先前输入的值。见下文:
我完全遵循了on this website的说明 - 无论是我自己还是经验丰富的Sharepoint开发人员同事都无法弄清楚这里发生了什么。
我们认为覆盖SyncChanges()方法会允许这样做 - 似乎它没有,除非我们的实现不正确?
public override void SyncChanges()
{
DemoWebPart wp = (DemoWebPart)this.ParentToolPane.SelectedWebPart;
urls.Text = wp.ListValue;
}
我们还使用以下内容为DemoWebPart.cs类的urls属性添加前缀,但无济于事:
[Browsable(true), Category("Miscellaneous"),
DefaultValue("Site Names"),
WebPartStorage(Storage.Shared / Personal / None),
FriendlyName("URLs"), Description("Text Property")]
(尝试过Storage.Shared,Storage.Personal和Storage.None)。
非常感谢您提供的任何帮助 - 提前感谢!
答案 0 :(得分:1)
这是我通常用于此类属性的代码:
[Personalizable(PersonalizationScope.Shared)]
[WebBrowsable(true)]
[System.ComponentModel.Category("Custom")]
[WebDisplayName("DisplayNameGoesHere")]
[WebDescription("Type the description of this web property here.")]
public string MyProperty{ get; set; }
我从来没有遇到任何问题。
答案 1 :(得分:1)
如果在中央管理员中添加了Webpart个性化,则仅使用以下内容:
Personalizable(PersonalizationScope.Shared)
如果不是,请完全删除Personalizable属性。不要输入false或none,删除该属性并使用:
WebPartStorage(Storage.Shared)
答案 2 :(得分:0)
建议:
我已经使用了这100次,请尝试一下,它会起作用。
由于 和Sandeep