2015-12-11 2 views
0

Я хочу знать, что является лучшей условностью для контроллера, действий и вида нейминга в ASP.Net MVCASP.Net MVC конвенция случае

Когда я создать «продукт» контроллер, я должен назвать его productController или ProductController ? По умолчанию визуальная студия Create 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

вы можете использовать первый последний капитал как это делает по умолчанию MVC, и для строчного URL вы можете использовать RouteCollection.LowercaseUrls Property

проверки ниже ссылки https://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.lowercaseurls.aspx

Пример:

public static void RegisterRoutes(RouteCollection routes) 
{ 
routes.LowercaseUrls = true; 
} 
3

контроллер просто класс и должен следовать правилам класса капитализации, IOW следует использовать PascalCase: https://msdn.microsoft.com/en-us/library/x2dbyw72(v=vs.71).aspx

Вы можете использовать StyleCop проверить свой код для таких вещей, как правила обсадных, пробелов и т.д.: https://stylecop.codeplex.com/

Но до сих пор никто не может помешать вам назвать как «productController».

Кроме того, если вы хотите изменить внешний вид имени контроллера в URL, пожалуйста, проверьте следующий вопрос и соответствующие ответы (но обычно люди десять использовать по умолчанию именования): How to Change ASP.NET MVC Controller Name in URL?

Короче говоря, вы можете сделать это с RoutePrefixAttribute или путем настройки маршрутизации (не показано здесь):

[RoutePrefix("product")] 
public class ProductController 
{ 
    ... 
} 
Смежные вопросы