我想输出一个看起来像这样的菜单结构
<ul>
<li>
MenuItemName1
<ul>
<li>Child Item</li>
</ul>
</li>
<li>
MenuItemName2
</li>
</ul>
我有一个menuitem类,其中包含name,url和children菜单项。我想创建一个局部视图,将每个项目呈现为上面的无序列表,我会递归调用它来遍历整个树。
这是个坏主意吗? 它会非常慢吗?
答案 0 :(得分:3)
我这样做并且它似乎并不特别慢,但它不是一个高容量的网站。是一个很好的地方可以连接一些缓存。
查看my question on the same topic的答案。我认为HTMLHelper扩展方法可能比嵌套的部分视图执行得更好。
答案 1 :(得分:0)
懒惰并为自己省去一些重复的工作总是一个好主意。
它不应该比拥有一个直接包含所有元素的视图慢,也不应该是部分渲染调用。
答案 2 :(得分:0)
我不确定MVC但是对于传统的ASP.Net 2.0如果嵌套用户控件太深,你可能会破坏堆栈。我看到这种情况发生在大约10个以上的嵌套层次。