Является ли рекурсивное рендеринг частичного представления в Asp.Net Mvc плохой идеей? - PullRequest
3 голосов
/ 19 июня 2009

Я хочу вывести структуру меню, которая будет выглядеть следующим образом

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

У меня есть класс menuitem, который содержит пункты меню name, url и children. Я хотел бы создать частичное представление, которое отображает каждый элемент в виде неупорядоченного списка, как указано выше, и я бы назвал его рекурсивно, чтобы просмотреть все дерево.

Это плохая идея? Это будет очень медленно?

Ответы [ 3 ]

3 голосов
/ 19 июня 2009

Я делаю это, и это не кажется особенно медленным, но это не большой объем сайта. Было бы отличным местом для подключения к некоторому кешированию.

Ознакомьтесь с ответами на мой вопрос на ту же тему . Я думаю, что метод расширения HTMLHelper может работать немного лучше, чем вложенные частичные представления.

0 голосов
/ 31 января 2015

Я не уверен насчет MVC, но с традиционным ASP.Net 2.0, если вы слишком глубоко вложили пользовательские элементы управления, вы можете разбить стек. Я видел, как это происходило однажды на уровне 10+.

0 голосов
/ 19 июня 2009

Это всегда хорошая идея, чтобы быть ленивым и сохранить себе какую-то повторяющуюся работу.

Это не должно быть медленнее, чем иметь представление со всеми элементами непосредственно на нем и без частичных вызовов рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...