ASP.NET MVC Controller Naming Pluralization

自作多情 提交于 2019-11-29 21:11:05
Cybermaxs

Some MVC Frameworks use plurals, however the MVC project templates contains a controller called AccountController thus suggesting singlular naming.

It doesn't matter. As with most things in the Asp.net MVC framework the choice is yours. There is no real conventions.

It's my personal opinion but what matters is that you pick a scheme and be consistent!

I'm going to have to disagree with the previous answers of using either plural or singular and being consistent. Each controller should use a different convention based on whether they interact with single or multiple entities. Especially since the controller name is used by default in the URL.

While the project templates use singular (HomeController, AccountController), there is only one Home and the Account actions only operate on the single account for the session. I would not expect the URLs of /homes to access the homepage, nor would I expect to go to /accounts to manage my account settings.

The plural HomesController would work for a real estate website that had methods related to listing and searching multiple homes: /homes/new-listings.

When you add a controller using MVC scaffolding for an Entity Framework entity, VS2013 makes the controller name plural, so I would suggest using that default which makes controllers for entities plural.

UPDATE: I changed my mind. LouD is correct. It depends on the context of the controller.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!