2010-05-26 2 views
1

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

Просьба оказать помощь/предложения. Благодарю.

ответ

2

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

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

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

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

Спасибо, это сработало! –

0

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

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

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

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