フィルターWebパーツで複数のフィルターを使用します
-
16-10-2019 - |
質問
私は別の開発者から継承されたフィルター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の設計は、プロバイダーが複数の消費者を持つことができるが、逆ではないことです。スレッドの終わりには、これはそうであるかどうかに混乱があるように思われるので、テストすることができます。