Я хотел бы оптимизировать мой URL, отображаемый в веб-браузерах. Я знаю, что Routing идеально подходит для этого, но я не знаю, возможно ли это так, как я хочу. У меня есть список проектов в списке. У каждого проекта есть идентификатор, имя и категория. При переходе на страницу с подробным описанием продукта должен отображаться URL-адрес «/ category / name». Я знаю, что могу передать идентификатор, категорию и имя в ActionLink и настроить маршрутизацию в Global.asax. Я уже делаю это, но у меня все еще есть идентификатор, который связан с остальной частью URL. Это безобразно.
Вот пример:
ActionLink на мой взгляд:
@Html.ActionLink(@p.Name, "Detail", new { projectID = @p.ProjectID, category = @p.Category, name = @p.Name })
Глобальный.asax:
routes.MapRoute(null,
"{category}/{name}",
new { controller = "Project", action = "Detail" }
);
Полученный URL:
Как видите, идентификатор проекта всегда добавляется в конец URL-адреса. Как я могу избежать такого поведения?
Спасибо.