2

どういうわけかリピーターのItemTemplateを動的に作成することは可能ですか?

私はリピーターを使用しようとしていますが、それはほとんどの制御を可能にするためですが、私の要件の1つは、私に再考させることです。

基本的に、Webサービスを介して実行するSQLクエリがいくつかあります。ユーザーにクエリ全体を入力させるのではなく、ラジオボタンを使用して「パーツ」、「製品」、または「パッケージ」を選択し、テキストボックスに検索語を入力し、その他の情報とページを表示できるようにします。必要な結果を返します。これはほとんど完了しており、RadioButtons制御ロジックがあり、テキストボックスからの入力をワイルドカードを使用した検索語として受け入れるようにクエリを設定しています。唯一の問題は、リピーターの制御に苦労していることです。問題は、各テーブルの列数が異なり、名前も異なるため <td><%# DataBinder.Eval(Container,\"DataItem.Description\") %></td> 、ItemTemplate内で実行できないことです(バインド時まで、3つのうちのどれか(将来的にはもっと多くなる可能性があります)がわかりません)使用するテンプレート)

リテラルを使用して、コードビハインドのロジックに基づいて必要なものを渡そうとしましたが、インライン関数を渡すことができず、以前の質問に基づいてこれを行う方法をまとめることができませんでした。

私はMSDNリファレンスを読んでいて、DataListコントロールを学ぶと物事が簡単になるようですが、リピーターを使ってそれを行う簡単な方法があれば、時間を無駄にしたくありません(これにより、より多くの制御)

ありがとうございました

4

3 に答える 3

2

私はここで軌道に乗っていないかもしれませんが、あなたが抱えている問題の簡単な解決策は、さまざまなアイテムテンプレートを含む複数のリピーターコントロールを作成し、それらをパネルにまとめることだと思います。そうすれば、ユーザーパラメータに応じて、結果を適切なリピーターにデータバインドし、他のパネルを非表示に設定することができます。

于 2012-06-06T20:06:28.953 に答える
2

私はあなたのためにいくつかの古いコードを振り返って、私が同様の状況をどのように処理したかを確認していました。それから、返事を書く直前にジェシーの答えを見ました。基本的に、私はそこでジェシーに同意する傾向があります-それはあなたが概説したものから最も簡単な解決策のようです。

于 2012-06-06T20:21:33.000 に答える
1

したがって、これがどれほど役立つかはわかりませんが、MVCテンプレートを使用する可能性があります。MVCは、実際には非常に限られた意味で使用できるという点で便利であり(アプリ全体で実装する必要はなく、該当するページのみ)、非常に簡単です。

MVC内でさまざまなテンプレートを実行する方法の概要:http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html

WPF DataTemplateSelectorの動作のように、バインド先のオブジェクトに基づいてテンプレートが変更されるようにテンプレートを変更できる場合があります。

MVC3またはMVC4で、データ型に基づいてテンプレートを作成でき(Silverlightでできるように)、そのテンプレートが自動的に選択されるものを見たのを覚えていると思いましたが、今はそれを見つけるのに苦労しています。

于 2012-06-06T20:06:16.447 に答える