0

いくつかのユーザータイプがあり、サーバー上でメニューを計算する必要があるため、2 レベルのメニューを保持する ascx コンポーネントがあります。

とにかく-サーバー上の現在のメニュー項目の強調表示も行っています(選択したクラス/cssを項目に追加します)。データグリッドにコンテンツがあり、ポストバックが発生し、選択した値と同じ位置にメニューを維持する必要があるため、javascript を使用した強調表示は適切なオプションではありません。したがって、これをハッシュテーブルを使用したある種のマッピング (例: ペア (サイトの URL、メニュー項目のハイライト)) として行っており、Web アプリケーションに含まれるすべてのサイトのマッピングを含める必要があります。メニューを強調表示したいので、もっと良い方法が必要だと思います。より良いテクニックはありますか?

4

1 に答える 1

2

.NET 2.0 のマスター ページ/コンテンツ ページで使用する手法は、強調表示するハイパーリンク コントロールに関連する文字列文字を取得する "SetNavigation" というパブリックにアクセス可能なメソッドを用意することです。メソッドが行うことは、指定されたハイパーリンクの CSS スタイルシートを「選択した」ものに設定することです。

次に、子ページの Page_Load メソッドで SetNavigation メソッドを呼び出し、SetNavigation("hypSearch") など、現在表示しているページに基づいてリンクを渡します。

ASCX コントロールで同様のコントロールを作成し、Page_Load イベントを作成したり、必要に応じてボタン クリック イベントでメソッドを呼び出したりすることができると思います。

于 2008-10-27T21:13:12.190 に答える