サーバー(asp.net)でメニュー項目を生成および強調表示する最良の方法
-
04-07-2019 - |
質問
複数のユーザータイプがあり、サーバー上でメニューを計算する必要があるため、2レベルメニューを保持するascxコンポーネントがあります。
とにかく-サーバー上の現在のメニュー項目の強調表示も行っています(選択したクラス/ CSSを項目に追加しています)。 javagrisを使用した強調表示は、データグリッドにコンテンツがあり、ポストバックを引き起こし、選択した値と同じ位置にメニューを残す必要があるため、適切なオプションではありません。 だから私はハッシュテーブルとのマッピングの一種としてこれをやっています(たとえば、ペア(サイトのURL、メニュー項目からハイライト))、Webアプリケーションに含まれるすべてのサイトのマッピングを含める必要があります私はメニューを強調表示したいので、どういうわけかこれを行うためのより良い方法が必要だと気になります。より良いテクニックはありますか?
解決
.NET 2.0のマスターページ/コンテンツページで使用する手法は、「SetNavigation」という公開アクセス可能なメソッドを使用することです。これは、強調表示するハイパーリンクコントロールに関連する文字列文字を受け取ります。メソッドは、指定されたハイパーリンクのCSSスタイルシートを「選択済み」に設定します。 1つ。
次に、子ページのPage_LoadメソッドでSetNavigationメソッドを呼び出し、現在のページに基づいてSetNavigation(" hypSearch")などのリンクを渡します
ASCXコントロールに同様のコントロールを作成してから、Page_Loadイベント、または必要に応じてボタンクリックイベントでメソッドを呼び出すことができることを収集します。