カスタム ToolPart によって駆動されるプロパティを作成するための基本的な手順 (ここ) を使用しています。
ApplyChanges メソッド内の Web パーツ プロパティにアクセスするために、「this.ParentToolPane.SelectedWebPart」を具体的な「SimpleWebPart」クラスにキャストする必要がある部分を除いて、すべて問題ありません。
public override void ApplyChanges()
{
SimpleWebPart wp1 = (SimpleWebPart)this.ParentToolPane.SelectedWebPart;
// Send the custom text to the Web Part.
wp1.Text = Page.Request.Form[inputname];
}
これを行うには、各ツールパーツを特定の Web パーツとペアにする必要があります。より良い方法はありますか?プロパティを指定する方法がないため、インターフェイスを作成できません。
ツールパーツの作成中にイベント/イベントハンドラーを渡そうとしましたが、呼び出されたときに Web パーツのプロパティが更新されませんでした。
パブリックな "Text" プロパティを持つすべての Web パーツの基本クラスを作成できますが、それは厄介です。
また、必死になって、リフレクションを使用して this.ParentToolPane.SelectedWebPart 参照を開き、「Text」という名前のプロパティをそのように呼び出すこともできます。
いずれにせよ、私は各オプションが行き止まりであることを知るためだけに、かなりのばかげたバレルを見下ろしています.
再利用可能なツールパーツを作成するための正しい方法を推奨できる人はいますか?