プラットフォーム:
C#を使用したASP.NET 4.0(Webforms)でのWebサイト開発。
状況:
レンダリングされたASP.NETメニューコントロールは水平で、3つのレベルのデータがあります。そして、StaticDisplayLevels = "1"を設定して、メニューにレベル1のデータが水平に表示され、レベル1のマウスオーバーが表示されるようにしました。メニューには、レベル2のデータとレベル2のマウスオーバーが表示され、メニューにはレベル3のデータが表示されます。
要件:
レベル2とレベル3のデータを単一のリストに表示し、最初のレベル2の子(存在する場合)が最初のレベル2データの下に表示されるようにする。次に、2番目のlevel2とその子(存在する場合)などが続きます。
上の画像を考えてみましょう。私が欲しいのは、左のようなディスプレイです。ただし、ASP.NETメニューコントロールは、右側の画像のようにレンダリングします。
私は解決策をネットで高低で検索しました。MenuのDataBoundイベントを使用して、生成されたasp.netコントロールのマークアップを置き換えてから、それにjavascriptハックを挿入してみました。成功しましたが、再利用性に欠けています。
私が欲しいのは、メガドロップダウンのように機能する動的レベル1の後に静的レベル2(およびレベル3)を使用して再利用可能なASP.NETメニューコントロールを実装する方法です。私は道があるべきであり、私は間違った道を進んでいると確信しています。何か案は?