這是我的RegisterRoutes方法在Global.asax中:URL路由工作不正常
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute("ListBooks",
"Home/Books/{id}",
new { controller = "Home", action = "Books" },
new { id = @"\d{2}" });
}
正如你可以在約束看,我指定的ID應該是強制性的有2位。但是已經指定了這一點,即使我輸入了一位數字的書籍ID,它仍然運行得很好。有人可以告訴我這有什麼問題嗎?
我真的不知道這個答案有兩個upvotes - 這是錯誤的。路線排序與這種情況無關。這應該是評論,而不是 – archil
我認爲你錯了。路由排序在這裏很重要,因爲* ListBooks *路由與默認路由的url /參數共享。 –
@Erfan,問題是關於路由配置中的錯誤。無論Jaggu是首先還是最後一次放置「默認」路線,當「ListBooks」限制不符合時(單個數字帳戶ID),「Default」將處理網址。 – archil