2009-06-19 11 views
3

私は名前、URLと子供のメニュー項目が含まれているMenuItemクラスを持っている出力にこのAsp.Net Mvcの部分ビューを再帰的にレンダリングするのは悪い考えですか?

<ul> 
    <li> 
     MenuItemName1 
     <ul> 
     <li>Child Item</li> 
     </ul> 
    </li> 
    <li> 
     MenuItemName2 
    </li> 
</ul> 

のようになります。メニュー構造をしたいです。上記のような順序付けられていないリストとして各アイテムをレンダリングする部分ビューを作成したいと思います。ツリー全体を再帰的に呼び出すことができます。

これは悪い考えですか? 非常に遅いですか?

答えて

3

私はこれをやっていて、それは特に遅くはないようですが、大量のサイトではありません。いくつかのキャッシングで配線するのに最適な場所になるでしょう。

my question on the same topicの回答を確認してください。私は、HTMLHelperの拡張メソッドは、入れ子の部分的なビューよりも少し上手くいくと思います。

0

怠け者で繰り返し作業を省くことは、常に良いアイデアです。

すべての要素が直接表示され、一部のレンダリングコールがないビューよりも遅くすべきではありません。

0

MVCについてはわかりませんが、従来のASP.Net 2.0では、ユーザーコントロールをネストするとスタックを吹き飛ばす可能性があります。私はこれがおよそ10+レベルの入れ子で一度起こるのを見ました。

関連する問題