在ASP.NET MVC中路由,在URL中显示用户名
我正在尝试建立一条路线,以便可以在URL中显示用户名,如下所示:
这是我的routeconfig:
routes.MapRoute( name: "users", // Route name url: "{username}", // URL with parameters defaults: new { controller = "Home", action = "Index", username = "" } // Parameter defaults ); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );
这是我的HomeController:
public ActionResult Index(string username = "Test") { return View(); }
首先,URL不变。当我username = "Test"
在route-config中进行设置时,URL不会更改。
其次,我无法导航到其他控制器。如果我将URL更改为http:// localhost123 / Welcome,则不会发生任何事情。它应该将我重定向到新页面。
我在这里做错了什么?
如果更改路线顺序,则可以导航到其他页面,但用户名未显示在URL中。
我已经用谷歌搜索,关于这个问题的所有答案都说我应该使用上述路线。
偶然的你
德玛西亚99