質問

私は別の開発者から継承されたフィルターWebパーツに取り組んでおり、私がそれらに取り組んだのは初めてです。現在、単一のフィルターが可能になり、別のフィルターを追加する必要があります。最初の考えは次のようなものです:

// Existing filter property
[ConnectionConsumer("ProgramEntityLevel", "ProgramEntityLevel", AllowsMultipleConnections = true)]
// New filter property
[ConnectionConsumer("ProgramEntityGuid", "ProgramEntityGuid", AllowsMultipleConnections = true)]
public void SetFilter(IFilterValues filterValues)
{
    // ...
}

もちろん、複数を持つことはできません ConnectionConsumer 属性。

何か案は?

役に立ちましたか?

解決

iTransFormFilterValues(または同様の)インターフェイスを使用していると思いますか? IfilterProviderを介してfilter1 = value1&filter2 = value2などのフィルターストリングを接続されたコンシューマーWebパーツに送信できるため、代わりに、廃止されたフィルターインターフェイスの実装を検討することをお勧めします。

開発したとき filterzen, 、使用したインターフェイス(「複数の値」を送信するために)と、廃止されたインターフェイス(「複数のフィルター」を送信するため)を実装しました。これにより、ボックスアウトおよびサードパーティの消費者Webパーツとの最大の互換性が可能になりました。

他のヒント

あなたが何を達成したいかは完全に明確ではないので、タスクの仕様をクリアすることができたらどうでしょうか?

1つのフィルターWebパーツに2つのフィルターがあるとは思いません。

おそらく、より良いデザインは、2つのフィルターWebパーツに分割することですが、 これ スレッド、AllowMultipleConnectionsの設計は、プロバイダーが複数の消費者を持つことができるが、逆ではないことです。スレッドの終わりには、これはそうであるかどうかに混乱があるように思われるので、テストすることができます。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top