使用局部视图来简化复杂视图 - 一种好方法?

时间:2009-11-11 03:06:10

标签: asp.net-mvc

将部分视图用于SOLE目的是将更复杂的视图分解为单独的块并因此使其更具可读性是否正确?

这似乎是一个愚蠢的问题,但我问的原因是我读到的关于使用部分视图的所有内容涉及在多个地方重用UI的一部分。在我的情况下,放入局部视图的UI片段仅在一个地方使用。因此,它仅仅是为了便于阅读,但我不确定这对性能的影响是否会增加可读性。想法?

5 个答案:

答案 0 :(得分:3)

虽然这是正确的,但还有更多用途。

  • 复用性
  • 能够传递包呈现的HTML 从您的控制器,所以你可以 将局部视图附加到底部 容器非常适合jQuery 异步调用
  • 关注点分离
  • 为开发人员提供工作能力 在页面的不同部分w / out 互相帮助。

仅举几例。

答案 1 :(得分:1)

我认为你不应该担心性能,直到它成为一个真正的问题,但你应该从一开始就担心你的代码。我通常使用部分视图来简化视图的逻辑或结构,正如您想要的那样。

答案 2 :(得分:1)

当然,这对他们来说是好用的。如果它保持页面有条理,那么它更容易维护,我认为这很好。

另外,如果我正在使用缓存,我发现更容易拥有:

cache "this" do
  # render partial
end

我发现阅读和跟踪事物更容易,尤其是在概述或仪表板页面上,其中包含许多不同的页面部分。

答案 3 :(得分:0)

我否决了项目中任何大而复杂的观点。相反,我们使用RenderAction将这些代码片段提取到更小的块/部分中。我在这里写了博客:

http://eduncan911.com/blog/html-renderaction-for-asp-net-mvc-1-0.aspx

基本上,您将该逻辑和/或部件移动到控制器中。

或者,如果您只是在谈论HTML - 那么是的,将视图分解为RenderPartials也是有效的。

答案 4 :(得分:0)

我倾向于保守一点。当我知道我需要重用代码或者在ViewData中有多个需要显示的复杂对象时,我只使用局部视图。

这里没有正确或错误的方式,但是我已经开展了一些项目,其中有大量的部分视图使事情变得“更简单”,我最终花费了很多时间来追踪所有部分的位置(控制器/动作)文件夹,共享文件夹或其他地方。)

关于我的方法的一件事是,如果您有任何想法,视图代码可能会重复使用,因为项目更改使用部分。这会节省很多时间。