1

アプリケーションページまたはWebパーツを作成するときに、ページの周囲の複数の場所に同じパターンのドロップダウンリストとラベルがいくつかあることに気付くことがあります。

Application Page
 _____________________
| lbl ddl    lbl dll  |
| lbl ddl    lbl ddl  |
|                     |
| lbl ddl    lbl dll  |
| lbl ddl    lbl ddl  |
-----------------------

元々、私はこれらのインスタンスを1つ、つまり2つのラベルと2つのドロップダウンコントロールを取得し、それをascxファイルにモックアウトして、ユーザーコントロール(コードビハインド付き)と呼び、メインアプリケーションに貼り付けました。複数の場所のページ。

Application Page
 _____________________
| user        user    |         User Control
| control    control  |          ___________
|                     |          | lbl ddl |
| user        user    |          | lbl ddl |
| control    control  |          -----------
-----------------------

質問 最近、各ユーザーコントロールに表示されるドロップダウンリストやラベルなどの数が動的である場合、ユーザーコントロールの代わりに、サーバーコントロールを使用する必要があると言われました。

しかし、私はそれを機能させることができないようです!サーバーコントロールでは、htmlモックアップがないように見えるため、使用するコードが背後にあるだけです。ユーザー入力を保存する方法や、生成されたコードからユーザー入力をコードビハインドに移動する方法がわかりません。

つまり、MySpecialTextBoxのように、サーバーコントロールは個々のコントロールを作成するためだけのものということですか?それとも私はこれについて完全に間違っていますか? (誰かが私が見ることができる良い、複雑なサンプルプロジェクトを持っていますか?)

4

1 に答える 1

0

ユーザー入力を保存する方法、またはユーザー入力を生成されたコードからコードビハインドに移動する方法がわかりません。

このドロップダウン コントロールのユーザー入力は、常にポスト バックされます。を介してそれらを取得する簡単な方法が常にあるRequest.Formため、次を使用してユーザー入力を取得できます。

Request.Form[Control.UniqueID]

したがって、コントロールに一意の名前を追加し、ポストバック時にその名前を記憶/認識/再作成するだけで、ポストバック値を取得できます。

于 2012-06-12T23:58:14.787 に答える