我正在一个网站上工作,许多用户可以在其中创建自己的帐户并拥有个性化页面。我希望为他们提供一个像网址一样的推特来访问他们的网页,例如www.mysite.com/smith或www.mysite.com/john。我正在使用asp.net mvc 1.0。我知道我可以添加路由到global.asax文件,但我无法弄清楚如何添加一个适用于这些网址的路由。
请提供一些帮助/建议。感谢。
答案 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不要与你的其他路线发生冲突。