Как скрыть имя контроллера и действия из стартового URL моего проекта MVC - PullRequest
0 голосов
/ 22 декабря 2018

Это мой файл конфигурации маршрута: -

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteValueDictionary keyValues = new RouteValueDictionary();
PDCL.API.API _api = new PDCL.API.API();
string cities = _api.GetCities();
string Specialities = _api.GetRouteSpecialization();

routes.MapRoute("SearchClinicListing", "{cityname}/{clinic}/{doctortype}/{clinicname}", new { controller = "Listing", action = "ClinicSearch" }, new RouteValueDictionary { { "cityname", cities } });

routes.MapRoute("AreaListing", "{cityname}/{clinicname}/{areaname}", new { controller = "Listing", action = "AreaSearch" }, new RouteValueDictionary { { "cityname", cities }, { "clinicname", Specialities } });

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Listing", action = "Index", id = UrlParameter.Optional }
);

, когда я запускаю свой проект, URL по умолчанию: http://localhost:2315/listing/index, как я могу скрыть листинг /индекс из этого URL?

Ответы [ 3 ]

0 голосов
/ 22 декабря 2018

Чтобы иметь:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Listing", action = "Index", id = UrlParameter.Optional }

Почему у вас его нет?

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

Переименуйте ваш контроллер с ListingController на HomeController, так как вы хотите, чтобы он былваш стартовый контроллер, и чем, когда вы обедаете, вы проецируете, у вас будет:

0 голосов
/ 22 декабря 2018

Удаление контроллера и имени действия из URL не очень хорошая идея.Но если вы хотите сделать это, вы должны сопоставить новый маршрут до вашего маршрута по умолчанию:

routes.MapRoute(
name: "MyCustomRoute",
url: "{id}",
defaults: new { controller = "Listing", action = "Index", id = UrlParameter.Optional }
);
0 голосов
/ 22 декабря 2018

Вы пытались переместить маршрут по умолчанию выше SearchClinicListing, дайте мне знать, если он работает

...