2009-06-19 2 views
3

Я хочу вывести структуру меню, который будет выглядеть как этотРекурсивно рендеринг частичного просмотра в Asp.Net Mvc плохая идея?

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

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

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

ответ

3

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

Проверьте ответы на вопросы my question on the same topic. Я думаю, что метод расширения HTMLHelper может работать немного лучше, чем вложенные частичные представления.

0

Всегда полезно быть ленивым и спасать себя некоторой повторяющейся работой.

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

0

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

Смежные вопросы