【问题标题】:Is recursively rendering a Partial View in Asp.Net Mvc a bad idea?在 Asp.Net Mvc 中递归渲染局部视图是个坏主意吗?
【发布时间】:2015-01-31 16:44:14
【问题描述】:

我想输出一个看起来像这样的菜单结构

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

我有一个 menuitem 类,其中包含名称、url 和子菜单项。我想创建一个局部视图,将每个项目呈现为像上面一样的无序列表,我会递归调用它来遍历整个树。

这是个坏主意吗? 会不会很慢?

【问题讨论】:

    标签: asp.net-mvc recursion partial-views


    【解决方案1】:

    我正在这样做,它似乎并不特别慢,但它不是一个高流量的网站。将是连接一些缓存的好地方。

    查看my question on the same topic 的答案。我认为 HTMLHelper 扩展方法的性能可能比嵌套的局部视图好一点。

    【讨论】:

      【解决方案2】:

      保持懒惰并为自己节省一些重复性工作总是一个好主意。

      它不应该比直接在其上包含所有元素且没有部分渲染调用的视图慢。

      【讨论】:

        【解决方案3】:

        我不确定 MVC 但对于传统的 ASP.Net 2.0,如果您将用户控件嵌套得太深,您可能会破坏堆栈。我在大约 10 层以上的嵌套中看到过这种情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-06
          • 1970-01-01
          • 1970-01-01
          • 2011-04-08
          • 1970-01-01
          相关资源
          最近更新 更多