2012-02-06 20 views
0

Sharepoint 2010のwebpartを作成しています.Sharepointユーザーインターフェイスで編集可能なカスタムプロパティを作成できます。問題はない。Sharepoint 2010カスタムプロパティ

問題点は、インターネット上に表示されているように、Webpart.cs内のすべてのコードをダンプするのではなく、カスタムオブジェクト(Properties.cs)を使用して同じプロパティを定義し(編集機能を利用できるようにしたい) 。

これを行う方法はありますか?なぜなら私はwebpartクラス内のすべてのプロパティ(編集可能かどうか)をポンピングしたくないからです。

答えて

0

はい、あなたはそれを行うことができます...継承を使用して

1-最初オーバーライドCreateChildControlsのメソッドなどでのWebPartクラスから継承する基本クラスを作成し、以下のように基底クラスを作成することにより、

<XmlRoot("MyWebPartBase")> _ 
<ToolboxItemAttribute(True)> _ 
Public Class BaseWebPart 
    Inherits WebPart 

Protected Overrides Sub CreateChildControls() 
     Dim control As Object = Page.LoadControl(ascxPath) 

     If control IsNot Nothing Then 
      control.WebPartControl = Me 
      Controls.Add(CType(control, Control)) 
     End If 
    End Sub 
'Add public properties here 


End Class 

2 - この基本クラスにプロパティを実装し、webpartクラスではなく、上記の基本クラスからwebpartを固有のものにします。

3パブリックプロパティを実装するユーザーコントロールの基本クラスを作成して、ユーザーコントロールなどにアクセスします。

Public Class BaseUserControl 
    Inherits UserControl 

    Private _WebPartControl As BaseWebPart 

    Public Property WebPartControl As BaseWebPart 
     Get 
      Return _WebPartControl 
     End Get 
     Set(ByVal value As BaseWebPart) 
      _WebPartControl = value 
     End Set 
    End Property 


Public ReadOnly Property WebPartID() As String 
    Get 
     Return WebPartControl.ID 
    End Get 
End Property 
End Class 
関連する問題