Like StackOverflow, у вас есть domain/questions/{id}/{title}
ASP.NET MVC Как создать ссылки на действия, основанные на маршрутизации
Это не имеет значения, что вы на самом деле отправить в качестве заголовка, если это не фактическое название вопроса, он автоматически делает a Постоянный redirect 302
Я думаю, канонический url.
Это все хорошо и здорово.
Что мне интересно, как они создают ссылки в листинге вопроса. Поскольку идентификатор вопроса недостаточно для создания URL-адреса.
Может быть сделано автоматически через маршрутизацию?
Должен ли внедрить какой-либо большой словарь?
Вы передаете заголовок всем представлениям, которые перечислили вопросы? , так что вы получите что-то вроде: @Url.Action("Question", new {id = item.QuestionId, title = item.QuestionTitle.ToPrettyUrl()});
в ваших ссылках.
Мне нужно создать сценарий, подобный этому, и мне очень интересно узнать, есть ли какая-нибудь магия за кулисами или решением, о которых я не могу сейчас думать.