2015-04-06 80 views
0

我正在使用mvc 5来创建用户帐户,并且我希望用户具有像这样的配置文件路径example.com/username 是否有可能这样做,如果是的话? 感谢创建匹配用户名的操作方法名称?

+2

这里最大的问题是,有喜欢的路线那么,除了用户配置文件视图之外,您将很难提供任何服务。例如,如果您有一个名为'FooController'的控制器,试图转到'/ foo'将会捕获用户配置文件路由,并尝试查找名为“foo”的用户。最好做一些像'/ u/[username]'的东西。这样就没有歧义。 – 2015-04-06 14:49:55

+0

@ChrisPratt你能解释一下吗? – 2015-04-09 12:21:46

回答

1

您需要创建在Global.asax中的路由表项:

RouteTable.Routes.Add(new Route 
{ 
    Url = [username], 
    Defaults = new { Controller = "YourController", Action = "YourAction" } 
}); 

那么你的控制器看起来应该是这样:

class YourControllerController : Controller 
{ 
    public ActionResult YourAction(string username) 
    { 
     ... 
    } 
} 
+0

我会给它一个镜头并回复你:) – 2015-04-06 07:50:06

+2

实际上并没有把它放在Global.asax中。这就是RouteConfig.cs的用途。除非你有一个很好的理由否则Global.asax应该被单独留下。 – 2015-04-06 14:46:55

+0

不是我正在寻找的答案,我想它应该放在RouteConfig中,而我确信有一个更干净的方法可以做到这一点,感谢队友,欢呼声 – 2015-04-09 12:20:36