Asp.Net Mvcで部分ビューを再帰的にレンダリングするのは悪い考えですか?
-
06-07-2019 - |
質問
このようなメニュー構造を出力したい
<ul>
<li>
MenuItemName1
<ul>
<li>Child Item</li>
</ul>
</li>
<li>
MenuItemName2
</li>
</ul>
名前、URL、および子メニュー項目を含むmenuitemクラスがあります。上記のように各アイテムを順序付けられていないリストとして表示する部分ビューを作成し、再帰的に呼び出してツリー全体を調べます。
これは悪い考えですか? 非常に遅くなりますか?
解決
私はこれをやっており、特に遅いようには見えませんが、大規模なサイトではありません。いくつかのキャッシュに配線するのに最適な場所になります。
同じトピックに関する私の質問に対する回答をご覧ください。 HTMLHelper拡張メソッドは、ネストされた部分ビューよりも少しパフォーマンスが良いと思います。
他のヒント
怠laになり、繰り返し作業を省くのは常に良い考えです。
すべての要素が直接表示され、部分的なレンダリング呼び出しがないビューよりも遅くはなりません。
MVCについてはわかりませんが、従来のASP.Net 2.0では、ユーザーコントロールのネストが深すぎるとスタックが破壊される可能性があります。これは、約10レベル以上のネストで一度発生しました。
所属していません StackOverflow