Asp.net mvc 使用局部视图简化复杂视图-一个好方法?

Asp.net mvc 使用局部视图简化复杂视图-一个好方法?,asp.net-mvc,Asp.net Mvc,使用局部视图的唯一目的是将更复杂的视图分解为单独的块,从而使其更具可读性,这是否正确 这似乎是一个愚蠢的问题,但我问这个问题的原因是,我读到的关于使用局部视图的所有内容都涉及到UI的一部分在多个地方重复使用。在我的例子中,放入局部视图的UI只在一个地方使用。因此,这样做完全是为了可读性,但我不确定这对性能的影响是否会超过增加的可读性。想法?我认为,在性能成为真正的问题之前,您不应该担心性能,但您应该从一开始就担心代码。我通常使用局部视图来简化视图的逻辑或结构,正如您所希望的那样。当然,这是一个不

使用局部视图的唯一目的是将更复杂的视图分解为单独的块,从而使其更具可读性,这是否正确


这似乎是一个愚蠢的问题,但我问这个问题的原因是,我读到的关于使用局部视图的所有内容都涉及到UI的一部分在多个地方重复使用。在我的例子中,放入局部视图的UI只在一个地方使用。因此,这样做完全是为了可读性,但我不确定这对性能的影响是否会超过增加的可读性。想法?

我认为,在性能成为真正的问题之前,您不应该担心性能,但您应该从一开始就担心代码。我通常使用局部视图来简化视图的逻辑或结构,正如您所希望的那样。

当然,这是一个不错的用法。如果它能保持页面的条理性,从而更易于维护,我认为这很好

此外,如果我使用缓存,我发现更容易获得:

cache "this" do
  # render partial
end

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

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

  • 可重用性
  • 能够传递打包呈现的html 从您的控制器,以便您可以 将局部视图附加到底部 集装箱的数量。非常适合jQuery 异步调用
  • 关注点分离
  • 使开发人员能够工作 在页面的不同部分上,w/out 互相妨碍

仅举几个例子。

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

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


或者,如果你只是在谈论html,那么是的,将视图分解为渲染部分也很有效。

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

这里没有正确或错误的方法,但我曾在项目中工作过,其中有大量的局部视图使事情变得“更简单”,我最终花了很多时间试图跟踪所有局部的位置(控制器/操作文件夹、共享文件夹或其他位置)

不过,关于我的方法,有一点是,您是否有丝毫的想法,即在项目更改时,视图代码可能会使用部分代码进行重用。这将节省一段时间