2015-05-04 3 views
3

Я создаю сайт, на котором будет несколько поставщиков, использующих один сайт. URL-адрес будет выглядеть как этотИзменение шаблона маршрута в MVC 4 как nameofvendor/controller/id

www.domainname.com/vendorname

Но в MVC, после того, как слэш по умолчанию идет к контроллеру. Я знаю, что вы можете менять таблицы маршрутизации, но мне нужно, чтобы он игнорировал все после первой косой черты и все еще использовал контроллер. Это просто, что URL-адрес будет www.domainname.com/vendorname/{controller}/{id}

Как я могу настроить это, чтобы игнорировать первый параметр и посмотреть на 2-й и 3-й позиции для контроллера/идентификатора?

Спасибо!

ответ

4

Я думаю, что вы хотите, чтобы настроить ваш ~/App_Start/RouteConfig.cs:

routes.MapRoute(
    "Default_Vendor", 
    "{vendorname}/{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

Оттуда вы можете исследовать RouteData для vendorname и использовать его соответствующим образом (возможно решить конкретную базу данных или использовать его в качестве ключа в стол).

+0

Спасибо! Я проверю это. – swinkel

Смежные вопросы