2010-12-06 12 views
9

Sharepoint 2010 Webパーツ内のWebBrowsablePersonalizableという属性の違いは何ですか?WebBrowsableとWebパーツのパーソナライズ可能

それが明示的に言及していないと私はこれが私にソートを取得したいと思いますが -

[WebBrowsable] 
public string IconURL { get; set; } 

MSDNはwebbrowseableは、すべてのユーザーのためにあるのに対しpersonalizableは、ユーザごとであるという印象を与える対

[Personalizable(), WebBrowsable] 
public string IconURL { get; set; } 

頭。

など。 personalizableにユーザ固有のプロパティを設定し、webbrowsableにウェブパーツを設定することはできますか?

答えて

15

WebBrowseable属性は、装飾されたプロパティがWebパーツのエディターコンポーネントに表示されるように指定します。これは、エンドユーザーにのみプロパティを変更させ、永続性については何もしません。

Personalizable属性は、ユーザーストア(既定値)または共有ストア(Sharedスコープが指定されている場合)のSharePointバックエンドに装飾されたプロパティの値を保持する必要があることを指定します。それは永続性だけを気にし、エディタコンポーネントのプロパティの存在については何もしません。

あなたが[WebBrowsable]なく[Personalizable]でプロパティを飾るのであれば、エンドユーザーは、エディタコンポーネントでそれを変更することができるようになりますが、その新しい値が永続化されません。

逆に、[Personalizable]ではなく[WebBrowsable]ではないプロパティを装飾すると、その値は保持されますが、エンドユーザーはそれを変更できません。

+0

属性を 'WebPartStorage(Storage.Shared)'に設定すると、 'WebPartStorage(Storage.Personal) 'が1人のユーザに対してのみ設定されます。 – Darbio

+0

@JD、はい。 [['' WebPartStorage'](http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webpartpages.webpartstorageattribute.aspx)]は、SharePoint Onlineの '[Personalizable]'に相当します。 –

+0

WebBrowseableがtrueに設定されていても、カスタムEditorPartを通じてプロパティを編集することができます。 – knight0323

1

WebBrowsable [WebBrowsable(True)] "Web Partsコントロールの指定されたプロパティがPropertyGridEditorPartオブジェクトに表示されるかどうかを示します。 (MSDN) http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.webbrowsableattribute.aspx

[Personalizable(true)] ユーザーにWebPartの設定をパーソナライズできるようにします。 http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.personalizableattribute.aspx

2

WebBrowsableは、プロパティをWebPartのToolPaneまたはEditorPartに表示します。

パーソナライズ可能であれば、パーソナライゼーションストアにプロパティを保存し、永続化することができます。このプロパティは、ユーザーの値ごとに格納される天気やすべてのユーザーのための単一の値を指定できる列挙型です。

WebBrowsableもパーソナライズ可能なプロパティです。

+0

あなたは私の質問を見てください。http://stackoverflow.com/questions/23486587/persisting-custom-asp-net-webpart-properties.I私の質問を理解することを願っています... –

関連する問題