Параметры действия отображаются в строке запроса вместо URL - PullRequest
6 голосов
/ 15 июня 2011

Я делаю это:

@Url.Action("Details", "MyController", new { id = this.Model.ID })

URL получается так: / MyController / Details? Id = 1

Как мне отформатировать URL-адрес следующим образом: / MyController / Details / 1

Маршруты выглядят так:

routes.MapRoute("Default", "{Controller}/{Action}", new { Controller = "Home", Action = "Index" });
routes.MapRoute("Default-ID", "{Controller}/{Action}/{ID}");

1 Ответ

8 голосов
/ 15 июня 2011

Порядок маршрутов имеет значение - оба URL действительны, и в этом случае система сначала получает строку запроса при поиске URL-адреса, соответствующего этому действию.

Существует также вероятность того, что у вас возникла проблема с чувствительностью к регистру {ID} - в этом нет уверенности, но обычно лучше использовать регистр последовательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...