ASP .NET MVC 3是否存在任何命名约定?

时间:2011-02-10 12:40:17

标签: asp.net-mvc asp.net-mvc-3 naming-conventions

当我学习MVC 3时,很明显命名对于让Dbase-Model-Controller-Views一起交谈至关重要。

是否存在应该在MVC应用程序中使用的已存在的命名约定列表?

类似的东西:

  • 表名(复数)
  • 型号名称(表名称的单数)
  • View文件夹必须与控制器类同名(即Contract - >派生自ContractController)

2 个答案:

答案 0 :(得分:5)

唯一的主要约定是控制器类名称必须以“Controller”结尾。任何其他约定仅代表最佳实践,并且您的应用程序不需要工作。

您提到的表格和模型命名约定是因为它们使代码“更好”(Select * From products where category = 1; Products.Insert(new Product())

MVC会自动查找与操作方法名称匹配的视图,并开始查找与控制器同名的文件夹。但是,您可以通过在视图结果中指定视图名称(return View("MyCustomName")

来轻松胜过它

答案 1 :(得分:2)

没有多少名称约定会破坏您的应用程序,除了少数几个让您的控制器以“Controller”结束并从操作名称中调用“View()”调用的名称推断。

MVC基于约定优于配置的意识形态,因此我慢慢地发现,有许多惯例可供遵循,但我还没有遇到过列表。它们很微妙,非常方便......通常。