Похоже, что для URL нужны только две вещи: action
и controller
, и если действие "index", оно вам не нужно.В этом случае я считаю, что вы делаете все правильно.Это немного измененный фрагмент кода, который я использовал в проекте ASP.NET MVC
:
string actionName = this.ControllerContext.RouteData.Values["action"].ToString();
string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
if (actionName.Equals("index", StringComparison.InvariantCultureIgnoreCase))
{
actionName = string.Empty;
}
string result = $"/{controllerName}/{actionName}";
Еще одна вещь, которую стоит упомянуть: «области».Когда-то я работал над веб-сайтом, на котором они были, поэтому они могут появиться и в вашем URL, если ваш веб-сайт использует подход «области».
Надеюсь, это поможет 100