Сегмент маршрута без соответствующего контроллера или действия в ASP.NET Core - PullRequest
1 голос
/ 01 ноября 2019

Взгляните на этот маршрут:

{controller}/{currency=USD}/{action=view}

Он соответствует URL-адресам типа rates/GBP/edit (и другим также ...). Rates отображается на controller и edit отображается на view. Все в порядке. Чего я не понимаю, так это тому, чему соответствует средний сегмент GBP.

Если бы все было наоборот => {controller}/{action=view}/{currency=USD}, GPB был бы методом параметра к действию. Но с текущим синтаксисом он выглядит как параметр для контроллера, который не имеет смысла.

Пример конфигурации маршрута:

    app.UseMvc(routes =>{
        routes.MapRoute(
                name:"def",
                template:"{controller}/{currency=USD}/{action=view}"
        );
    });

Пример контроллера:

public class RatesController : Controller{
   public IActionResult Edit(){
       return View();
   }
}

Итак, какому коду currency соответствует, если таковой имеется? Возможно, тот же вопрос .. как я могу получить доступ к значению валютного сегмента?

...