2015-12-11 107 views
0

我想知道這是控制器,動作和視圖的命名在ASP.Net MVCASP.Net MVC大小寫約定

最好的約定,當我創建一個「產品」控制,我應該命名爲ProductController的或ProductController的? 默認情況下,Visual Studio創建ProductController。 但這意味着url將是http://mywebsite/Product/xxxx

或者我們不應該在URL中有這樣的大寫? 所以我不知道哪個公約適用。 這是視圖名稱和動作名稱相同...

+2

大小寫在URL路徑(對於Windows服務器)中無關緊要。對於類約定通常像ProductController,以大寫字母開頭。對於url模式,我會使用自定義路由屬性,您也可以在RouteConfig中配置路由。 – mecek

+0

對於URL中的大寫或小寫,你可以檢查這個答案:http://stackoverflow.com/a/13511455/2524010 – mecek

+0

MVC的約定是C#/ VB的約定。修改類似於某個類的名稱以達到URL的目的是錯誤的。編寫類像應該寫的類,然後擔心事情後的URL等事情。 –

回答

3

控制器就是一個類,並應遵循類資本弱化規則,督察應使用PascalCase:https://msdn.microsoft.com/en-us/library/x2dbyw72(v=vs.71).aspx

可以使用了StyleCop檢查你的代碼,這樣的事情大小寫規則,空格等:https://stylecop.codeplex.com/

但仍然沒有人能阻止你的命名,如「ProductController的」。

另外,如果你想改變控制器名稱的外觀網址,請檢查接下來的問題和相應答案(但通常人十能使用默認的命名):How to Change ASP.NET MVC Controller Name in URL?

總之,你可以用RoutePrefixAttribute做到這一點或通過配置路由(此處未顯示):

[RoutePrefix("product")] 
public class ProductController 
{ 
    ... 
}