このデータベース テーブルで表される、相関している 4 つの値があります。
基本的にエントリごとに 3 つの値を持つ 1 つのキーを持つことができる C# のデータ構造を探しています。この場合はフィールドがキーです。
これらの値の関係は次のようになります。Level
0 --> (0, "トップレベル", "")
1 --> (0, "サブメニュー", "")
2 --> (1, "asdf", " http://www.asdf. com ")
2 --> (1, "qwerty", " http://www.qwerty.com ")
キーは一意ではないことに注意してください。
上記のデータベース情報の例では、次のネストされた を作成します
asp:MenuItem
。
<asp:MenuItem Text = "Top-level">
<asp:MenuItem Text = "Submenu">
<asp:MenuItem Text = "asdf" NavigateUrl = "http://www.asdf.com" />
<asp:MenuItem Text = "qwerty" NavigateUrl = "http://www.qwerty.com" />
</asp:MenuItem>
</asp:MenuItem>
...次のような厄介なC#データ構造を使用します。
// this is crazy!
SortedDictionary<int, SortedDictionary<int, KeyValuePair<string, string>>
ツリー トラバーサルなど、ドロップダウン メニューを動的に設定する には、明らかにもっと多くの詳細が必要ですが、今のところ、最初に適切な構造を用意することに主に関心があります。