Как использовать персонализированные URL в asp.net mvc приложение

Я работаю над веб-сайтом, в котором многие пользователи могут создать свою учетную запись и иметь персонализированную страницу. Я хочу предоставить им Твиттер как URL для доступа к их страницам, например, www.mysite.com/smith или www.mysite.com/john. Я использую asp.net mvc 1.0. У меня есть понимание, что я могу добавить маршруты к global.asax файлу, но я не могу выяснить, как добавить маршрут, который будет работать на такие URL.

Обеспечьте некоторую справку / предложения.Спасибо.

1
задан DaveRandom 25 February 2013 в 22:58
поделиться

2 ответа

Ну, вы всегда можете добавить это в качестве последнего пути:

routes.MapRoute(
    "Default",
    "{profile}",
    new { controller = "Profile", action = "Index" }
);

но это сделает ваше приложение более громоздким. В частности, вам придется проверять имена пользователей, чтобы они не пересекались с остальными маршрутами (например, /info, '/admin' и т.д.).

Что я рекомендую, так это переместить страницу персонализации на один уровень глубже:

routes.MapRoute(
    "Default",
    "profile/{username}",
    new { controller = "Profile", action = "Index" }
);
2
ответ дан 3 September 2019 в 00:18
поделиться

Со своей стороны, я бы использовал следующие, помещенные после всех других маршрутов, но для общего доступа:

routes.MapRoute( 
    "PrettyProfile", 
    "{username}", 
    new { controller = "Profile", action = "Index" } 
); 

Как говорит Антон, вы должны ограничить свои идентификаторы пользователя, чтобы они не конфликтовали с другими маршруты.

0
ответ дан 3 September 2019 в 00:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: