2009-03-05 61 views
13

如下我定义了一个布尔属性:的Sharepoint自定义Web部件属性不会在工具箱中显示

[Browsable(true), Category("Display"), DefaultValue(false), 
    WebPartStorage(Storage.Shared), FriendlyName("Obey Workflow"), 
    Description("")] 
    public bool ObeyWorkflow { get; set; } 

我期待它呈现为在Web部件的属性工具箱中的复选框,但是它不没有出现。我的Web部件来自Sharepoint WebPart基类。

回答

21

你是在正确的轨道上。你只需要使用不同的属性。

[Personalizable(PersonalizationScope.Shared)] 
[WebBrowsable(true)] 
[Category("Display")] 
[WebDisplayName("Obey Workflow")] 
[Description("")] 
public bool ObeyWorkflow { get; set; } 
+0

谢谢。我花了整整一天的时间来解决这个问题。 – kjv 2009-03-07 16:42:09

1

,我认为它的WebBrowsable(true)代替Browsable(true)

+0

我已经改变,并没有帮助。 – kjv 2009-03-06 18:14:23

5

@Jason,你说的没错。语法“Browsable”和“Category”是Sharepoint 2003特有的。对于SharePoint 2007,它分别是“WebBrowsable”和“SPWebCategoryName”。

DefaultValue(false)也是特定于SharePoint 2003的。

在2007年的等效,因为据我所知,是先事先声明,就像这样:

private string _strMainFolder = "Reports"; //Here is the default value 

    [WebBrowsable(true)] 
    [WebDisplayName("SharePoint List Name")] 
    [SPWebCategoryName("SharePoint List Name Settings")] 
    [WebPartStorage(Storage.Shared)] 
    [WebDescription("You would put the description here.")] 
    [Personalizable(PersonalizationScope.Shared)] 
    public string strMainFolder 
    { 
     get { return _strMainFolder; } 
     set { _strMainFolder = value; } 
    } 
+0

很好的工作,谢谢你! – Gohyu 2016-11-21 15:22:24

相关问题