ASP.NET MVC中的用户路由,用于www.website.com/users/jeffAtwood等网址

时间:2012-11-03 07:33:32

标签: asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing

我正在尝试在以下网址上显示用户详细信息:

www.website.com/users/yasser

最后一个条目yasser是用户名,我尝试了几条路线,但它确实没有用。

我的用户控制器如下所示。

public class UserController : Controller
{
    public ActionResult Index(string username)
    {
        var model = _service.GetUserDetails(username);
        return View(model);
    }
}

我已经提到this以及其他几个链接,但我真的无法弄清楚它是如何工作的。

有人可以帮我解决这个问题。感谢

修改

我当前的路线配置在

之下
public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

1 个答案:

答案 0 :(得分:7)

路线从上到下执行:

routes.MapRoute("UserProfile",
     "Users/{username}",
     new { controller = "User", action = "Index", username = string.Empty }
);

routes.MapRoute("Default",
     "{controller}/{action}/{id}",
     new { controller = "Home", action = "Index", id = UrlParameter.Optional}
);