我一直在使用MVC一段时间,并且与旧的ASP.NET框架相比,我对它的整体感到非常满意。将它与jQuery和EF相结合,生活很美好。
虽然我最终得到的所有索引视图都让我感到恼火。似乎每个控制器都有一个索引操作。所以我有很多名为“Index”的视图,并且很难在IDE中跟踪它们。使用“Index.cshtml”打开多个选项卡的情况并不少见,如果不将鼠标悬停在选项卡上,我不知道它属于哪个控制器。它快速混乱。同样的事情最终会受到许多控制器常见的创建,更新,删除操作的影响。
也许我应该在视图中包含控制器名称,以帮助保持它们的直线?好奇其他人正在做些什么来避免这个问题。
答案 0 :(得分:1)
我遇到了同样的问题,在真正的“约会配置”风格中,我提出了自己的约定,为我的观点使用Controller + Action名称。
我使用spark,所以这是编写自定义描述符或使用Razor的情况,您编写了一个自定义视图引擎,该引擎从默认的RazorViewEngine扩展并在那里构建您的约定。 This article让您了解如何操作。
这样我就可以在帐户控制器中使用名为AccountIndex.spark(或.cshtml)的索引操作,我仍然可以从我的操作中返回View()或PartialView(),而无需指定视图名称。
答案 1 :(得分:0)
没有什么可以阻止你拥有不同的视图名称。但由于文件夹名称具有控制器名称,因此不会与具有相同名称的其余视图发生冲突。
问题是 - 对于MVC框架 - 视图首选拥有其操作名称,因此您可以返回默认名称,而不必专门指定名称。因此,您不希望HomeIndex
上有HomeController
的操作,是吗?