Взгляните на этот маршрут:
{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
соответствует, если таковой имеется? Возможно, тот же вопрос .. как я могу получить доступ к значению валютного сегмента?