【问题标题】:How to use personalized urls in asp.net mvc application如何在 asp.net mvc 应用程序中使用个性化 url
【发布时间】:2011-02-24 01:47:48
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net asp.net-mvc friendly-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" }
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多