我正在尝试在以下网址上显示用户详细信息:
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 }
);
}
答案 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}
);