1

WPFを使用してプロジェクトを実行し、その優れたデータバインディング機能に非常に愛着を持った後、ASP.Netに戻り、WPFの機能の一部を見逃し始めています。

私の質問は... ASP.Net用のWPFのValueConvertersに似たものはありますか?

たとえば、UserControlにパブリックプロパティを公開させたいのですが、これはでIEnumerable<int>あり、ユーザーはソースからそのようなプロパティを入力できます。

<asp:MyControl1 runat="server" ID="something" TheList="1,3,5,7"/>

次に、の値は、WPFのValueConverterのようなものでTheListに変換されます。IEnumerable<int>

[更新]解決策

Nathan Baulchが言及したおかげで、私はこの質問TypeConverterに出くわし、文字列からリストへのコンバーターを構築することができました。

4

2 に答える 2

2

System.ComponentModel.TypeConverterをご覧になることをお勧めします。

CodeProject に関するこの記事には、緯度と経度の文字列を含む、あなたのものと非常によく似た例が含まれています。

于 2009-07-10T08:37:52.143 に答える
0

私はそうは思わない。私の最善の推測は、文字列からIEnumberableへの暗黙の変換です。これは一般に非常に悪いことですが、あなたの場合は機能します。

マークアップ内のすべては、入力されない限り、常に文字列として扱われます<% %>-その後、解釈されます。

他にできることは、IEnumerableDataSourceコントロールを定義することです。次に、MyControlはIEnumerableデータを取得する場所からTheListDataSourceIDを取得します。

<asp:MyControl1 runat="server" ID="something" TheListDataSourceID="myDataSource" />

<asp:MyIEnumerableDataSource runat="server" ID="myDataSource" TheList="1,3,5,7" />

次に、IEnumerableDataSourceが変換を実行し、必要なユーザーコントロールに対してIEnumerableを返します。暗黙の変換よりもはるかに良いケースです。

于 2009-07-10T08:25:33.803 に答える