asp.net-mvc-3 – 在文件结构中组织部分视图的最佳方法是什么?

我可能会为我的应用程序提供许多部分视图,这些部分视图可以在文件夹结构中进行分组.看来我应该这样做,否则我会看一个包含大量文件的View文件夹.所以我假设我应该有类似的东西:
Views -> 
  Group1 -> 
    PartialView1
    PartialView2

HTML.Partial调用会是什么样的?

HTML.Partial("~/Views/Group1/MyPartialView.cshtml",Model)

我的另一个想法是让一个部分视图文件包含条件代码块,但我怀疑这与PartialViews的所有内容相悖.

最后,如果有一个小的部分视图与一个具有多个条件组件的大型部分视图,那么性能是否存在差异?我想我认为一个文件加载到内存和编译代码而不是多个小文件加载.

谢谢.

编辑:更多信息.

我有一个通用控制器,用于呈现报表的不同部分,因此“介绍”部分的所有部分都将使用“简介”部分进行渲染,即“Introduction.Section1”,“Introduction.Section2”.在我的场景中,我不相信我在章节中有共同的部分,所以我可以使用“文件”.想法,但Views文件夹会很大,因此我考虑使用子文件夹.

编辑:谢谢大家.这里有一些很棒的想法.我最后使用了文件夹的想法,因为我在其他地方使用这种方法.但是我确实意识到我需要使用绝对路径,但这不是问题.

解决方法

只要它们在某个地方的Views目录中,它就不重要了.如果你把它放在Views / {controller}或Views / Shared之外的位置,那么你需要完全限定的位置,包括Views和扩展名,所以@Html.Partial(“〜/ Views / Group1 / PartialView1. CSHTML“).

就个人而言,如果您在单个控制器中使用了很多部分内容,我会将它们保留在{controller-name}目录中(带有@IyaTaisho建议的前导下划线).但如果它们在多个控制器中使用,并且您需要对它们进行分组,我会将它们分组在Views / Shared / {groupName}下.

关于一个大的和一个小的部分,我会说与很多小的.可能有理由不时地做一个大的,但总的来说,我认为局部应该尽可能简单.请记住,您可以始终拥有嵌套的部分,因此如果您在许多部分之间具有共享功能或布局,则可以将其分解为父部分和下部的多个子部分.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....