2

Я построил стандартное приложение MVC с контроллерами и видом и на следующих маршрутах: -MVC маршрутизации внутри папки

routes.MapRoute 
(
    name: "PageNumber", 
    url: "{controller}/{action}/page-{pageNumber}", 
    defaults: new { controller = "Home", action = "PageNumber" } 
); 
routes.MapRoute 
(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional } 
); 

Поскольку это серверная система, будет основной HTML сайт на передней панели этого. Это означает, что мне нужно маршрутизировать мой сайт в подпапку, так что внешний вид URL, как это: -

SubFolder/Controller/Action/{id} 

Как я могу это сделать, не меняя все мои жестко закодированные ссылки включить эту папку. Я не могу использовать MVC Области для этого, поэтому было интересно, есть ли способ изменить маршрутизацию, чтобы автоматически предварительно отложить бит SubFolder URL-адреса?

Спасибо!

ответ

1

Вы могли бы сделать новый маршрут:

routes.MapRoute(
      name: "Subfolder", 
      url: "Subfolder/{controller}/{action}/{id}", 
      defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional } 
     ); 

Однако вы не должны быть трудно кодирования ссылок, если у вас есть планы на будущее, чтобы заменить основную страницу HTML можно использовать @Html.ActionLink для генерации тегов анкерные для вас.

+0

Я попробую это и дам вам знать, где я доберусь! Спасибо за совет! –

+0

Работает отлично! Благодарю. Изменены мои ссылки на 'href =" @ Url.Action() ">', потому что у нас есть вложенный HTML-код внутри '' ссылок. –

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