我一直在努力学习ASP.NET MVC 3,事情从路由方面,无论我尝试我似乎无法让他们完全正确顺利分开。
我的主网页上的ActionLink的:
@Html.ActionLink("Contracts", "List", "Contract",
new { User.Identity.Name, page=1 })
这意味着访问的ContractController这个方法:
public ViewResult List(string user, int page = 1)
{
//snip
}
我的路线是:
routes.MapRoute(
null,
"Page{page}",
new { Controller = "Contract", action = "List" }
);
routes.MapRoute(
null,
"Page{page}",
new { Controller = "Contract", action = "List", user = "", page = 1 }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
该链接现在将返回404错误,因为它无法找到控制器“家”,这显然意味着它没有使用第一路线的任一行动“清单”。
一切工作之前,我试图参数添加到ActionLink的,所以基本上,我究竟做错了什么?
非常感谢。