#c# #asp.net
#c# #asp.net
Вопрос:
У меня есть такой контроллер:
[RoutePrefix("")]
public class LotController : Controller
{
[Route("{AreaLots}")]
public ActionResult Index(string AreaLots)
{
return View();
}
}
То, что я пытаюсь сделать, это указать URL-адрес независимо от значения AreaLots, чтобы он выглядел как localhost / MyArea вместо localhost / Lot / Index ?AreaLots= Моя область
Возможно ли то, что я пытаюсь сделать?
Вот мой маршрут:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Комментарии:
1. Если вы просто хотите удалить префикс, вы можете использовать тильду
~
перед своим атрибутом RouteAttribute:[Route(“~/MyArea”)]
. В этом случае[RoutePrefix("")]
было бы излишним.
Ответ №1:
Я не знаю, можете ли вы сделать localhost / MyArea, но вы можете сделать localhost / Lot / MyArea (что уже лучше, чем localhost / Lot / Index?AreaLots=MyAreay) с этой конфигурацией маршрута
routes.MapRoute(
name: "Lot",
url: "Lot/{AreaLots}",
defaults: new { controller = "Lot", action = "Index" }
);