如何在asp.net mvc应用程序中使用个性化URL

时间:2010-05-26 08:36:26

标签: asp.net asp.net-mvc friendly-url

我正在一个网站上工作,许多用户可以在其中创建自己的帐户并拥有个性化页面。我希望为他们提供一个像网址一样的推特来访问他们的网页,例如www.mysite.com/smith或www.mysite.com/john。我正在使用asp.net mvc 1.0。我知道我可以添加路由到global.asax文件,但我无法弄清楚如何添加一个适用于这些网址的路由。

请提供一些帮助/建议。感谢。

2 个答案:

答案 0 :(得分:2)

嗯,您可以随时将其添加为最后一条路线:

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

但这会让你的应用更加繁琐。具体来说,您必须检查用户名,以便它们不会与其他路线发生冲突(例如/info,'/ admin'等)。

我建议将个性化页面更深层次地移动:

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

答案 1 :(得分:0)

就我而言,我会使用以下内容,放置在所有其他路线之后,但是可能会受到影响:

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

正如安东所说,你必须限制你的用户ID不要与你的其他路线发生冲突。