【问题标题】:How to make routing in asp.net mvc domainname/username so each user has his "username" like facebook does如何在asp.net mvc域名/用户名中进行路由,以便每个用户都有他的“用户名”,就像facebook一样
【发布时间】:2012-07-20 10:58:31
【问题描述】:

如何在 asp.net mvc 域名/用户名中进行路由,以便每个用户都有自己的“用户名”,就像 facebook 一样

提前谢谢你!

【问题讨论】:

  • 以下所有答案均无效:(

标签: c# asp.net-mvc asp.net-mvc-routing


【解决方案1】:

您只需使用用户名部分作为 {id} 元素,并有一个默认的 {action}。

【讨论】:

  • 但在这种情况下,我将不得不为我在应用程序中拥有的所有页面使用特殊路由。
  • 我不明白系统如何知道它是页面还是个人资料并且灵活地做到这一点
【解决方案2】:

试试这个

      routes.MapRoute(
           "users", // Route name
           "{username}", // URL with parameters
           new { controller = "Home", action = "User" } // Parameter defaults
       );

这将是第一个 MapRoute,动作类似于

    public ActionResult User(string username)
    {
        return View();
    }

【讨论】:

    【解决方案3】:
    routes.MapRoute(
               "UserController", // Route name
                "User/{username}", // URL with parameters
                new { controller = "UserService", action = "UserInfo" }
    

    在 UserController 中执行一个以用户名作为参数的操作:

    public ActionResult UserInfo(string username)
    {
        ///... do your magic here
    }
    

    请注意,我没有编译它,因此没有测试它:-)

    【讨论】:

    • Sergey 的意思是 [域]/[用户名]。
    • 在这种情况下,您只需像这样删除部分路径:“/{username}”,但您必须自己处理所有路由魔法
    • 我不明白系统如何知道它是页面还是个人资料并且灵活地做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 2016-02-10
    • 2013-02-14
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    相关资源
    最近更新 更多