2009-03-05 3 views
13

tôi đã xác định một tài sản boolean như sau:Sharepoint sở hữu phần web tùy chỉnh không hiển thị trong hộp công cụ

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

Tôi đang mong đợi nó để render như một hộp kiểm trong các thuộc tính hộp công cụ của webpart, tuy nhiên nó doesn không xuất hiện. Phần web của tôi bắt nguồn từ lớp cơ sở Sharepoint WebPart.

Trả lời

21

Bạn đang đi đúng hướng. Bạn chỉ cần sử dụng các thuộc tính khác nhau.

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

Cảm ơn bạn. Tôi đã dành cả ngày để giải quyết vấn đề này. – kjv

1

tôi nghĩ rằng nó WebBrowsable(true) thay vì Browsable(true)

+0

tôi đã thay đổi và nó không giúp đỡ. – kjv

5

@Jason, bạn đã đúng. Cú pháp "Có thể duyệt" và "Danh mục" là Sharepoint 2003 cụ thể. Đối với SharePoint 2007, "WebBrowsable" và "SPWebCategoryName" tương ứng.

Mặc địnhValue (sai) cũng là SharePoint 2003 cụ thể.

Tương đương trong năm 2007, theo như tôi biết, là phải khai báo nó ban đầu trước, như thế này:

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

công việc tốt, cảm ơn bạn! – Gohyu