Как пользователь I метода FormExtensions.BeginForm () я столкнулся с неудовлетворительным поведением метода UrlHelper.GenerateUrl ().
При стандартной маршрутизации:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
Следующий вызов метода возвращает "/"
//Request.RawUrl == "/Home"
UrlHelper.GenerateUrl(
routeName: null,
actionName: null,
controllerName: null,
routeValues: null,
routeCollection: RouteTable.Routes,
requestContext: Request.RequestContext,
includeImplicitMvcValues: true
);
Однако, если домашний контроллер не установлен по умолчанию в маршрутизации, приведенный выше вызов метода возвращает «/ Home», что является моим желаемым поведением.
Установка параметров метода actionName = "Index" и controllerName = "Home" не помогает.
Что я должен сделать, чтобы получить URL, содержащий имя контроллера? ( "/ Home")