0

特定のレイアウトで配置されたユーザー コントロールを持つページで作業しています。ユーザーの好みに基づいて位置を並べ替えることができるように、そのページを変更しています。したがって、基本的には、ロード時に、さまざまなユーザー コントロールをどこに配置する必要があるかについての情報が得られます。

私は2つのアプローチを考えることができます:

  • クライアント側で並べ替えを行います。これは、並べ替えが行われていることをユーザーが確認するため、ユーザーにとって理想的ではありません。
  • サーバー側で並べ替えを行います。これには、設定に基づいてユーザー コントロールを動的にロードするために、多くの書き直しが必要です。

私がやろうとしていることを達成する他の方法はありますか?

4

2 に答える 2

1

クライアント側で再配置することをお勧めします。

  1. ポストバックを保存します。
  2. ウェブサイトをシームレスにします。

どうすればそれができますか

  1. すべてのコントロールを含むメイン div と、読み込みイメージを含む別の div を使用します。JavaScript を使用してコントロールを再配置する際に可視性を切り替えます。または
  2. visibility:hidden を body に設定してから、visible:visible の設定を再配置した後、

このアプローチの欠点は、絶対配置を使用する必要があることです。

于 2012-07-03T16:16:26.340 に答える
0

もっと簡単な方法があります。レンダリングは、それらをレンダリングする親コンテナーによって制御されます。コンテナーを作成し、その子のレンダリングの順序を完全に制御することができます (RenderChildren メソッドをオーバーライドすることにより)。これは最も簡単なオプションではありませんが、機能します。手順は次のとおりです。

  • ContainerControl を継承するクラスを作成する
  • RenderChildren メソッドをオーバーライドする
  • このメソッド内で、コンテナー内の子をレンダリングし、それをオーバーライドし、その基本クラス バージョンを呼び出さず、インスタンスをコントロールに取得してレンダリングします。あなたがしなければならないので、これは複雑さが生じるところです。
于 2012-07-03T16:16:20.720 に答える