如何在 asp.net mvc 应用程序中使用个性化 url
Posted
技术标签:
【中文标题】如何在 asp.net mvc 应用程序中使用个性化 url【英文标题】:How to use personalized urls in asp.net mvc application 【发布时间】:2011-02-24 01:47:48 【问题描述】:我正在开发一个网站,许多用户可以在其中创建自己的帐户并拥有个性化页面。我希望为他们提供一个类似 twitter 的 url 来访问他们的页面,例如 www.mysite.com/smith 或 www.mysite.com/john 。我正在使用 asp.net mvc 1.0。我知道我可以将路由添加到 global.asax 文件,但我无法弄清楚如何添加适用于此类 url 的路由。
请提供一些帮助/建议。谢谢。
【问题讨论】:
【参考方案1】:就我而言,我会使用以下内容,放在所有其他路线之后,但要笼统地说:
routes.MapRoute(
"PrettyProfile",
"username",
new controller = "Profile", action = "Index"
);
正如 Anton 所说,您必须限制您的用户 ID,以免与您的其他路线发生冲突。
【讨论】:
【参考方案2】:好吧,您可以随时将其添加为最后一条路线:
routes.MapRoute(
"Default",
"profile",
new controller = "Profile", action = "Index"
);
但这会使您的应用程序更加繁琐。具体来说,您必须检查用户名,以免它们与您的其他路由冲突(例如 /info
、'/admin' 等)。
我建议将个性化页面更深一层:
routes.MapRoute(
"Default",
"profile/username",
new controller = "Profile", action = "Index"
);
【讨论】:
以上是关于如何在 asp.net mvc 应用程序中使用个性化 url的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ASP.NET MVC 中使用通用处理程序 (ASHX)?
如何在我的 ASP.NET MVC 应用程序中使用 ACE?
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)
如何在 ASP.NET MVC 应用程序中管理和部署架构(使用 NHibernate)