Asp.Net Mvcで部分ビューを再帰的にレンダリングするのは悪い考えですか?

StackOverflow https://stackoverflow.com/questions/1016771

質問

このようなメニュー構造を出力したい

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

名前、URL、および子メニュー項目を含むmenuitemクラスがあります。上記のように各アイテムを順序付けられていないリストとして表示する部分ビューを作成し、再帰的に呼び出してツリー全体を調べます。

これは悪い考えですか? 非常に遅くなりますか?

役に立ちましたか?

解決

私はこれをやっており、特に遅いようには見えませんが、大規模なサイトではありません。いくつかのキャッシュに配線するのに最適な場所になります。

同じトピックに関する私の質問に対する回答をご覧ください。 HTMLHelper拡張メソッドは、ネストされた部分ビューよりも少しパフォーマンスが良いと思います。

他のヒント

怠laになり、繰り返し作業を省くのは常に良い考えです。

すべての要素が直接表示され、部分的なレンダリング呼び出しがないビューよりも遅くはなりません。

MVCについてはわかりませんが、従来のASP.Net 2.0では、ユーザーコントロールのネストが深すぎるとスタックが破壊される可能性があります。これは、約10レベル以上のネストで一度発生しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top