我無法獲得路由工作以限制控制器的動作參數只能是整數。ASP.NET MVC路由不能與約束條件工作
我有AA控制器動作如下:
[RequiresRole(RoleToCheckFor = "Administrator"), AcceptVerbs(HttpVerbs.Get)]
public ActionResult Edit(int id)
{
...
}
和Global.asax.cs中以下路線:
routes.MapRoute(
"UserEdit",
"user/edit/{id}",
new {controller = "user", action = "edit"},
new {id = @"\d+"}
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "notfound" });
因此我很期待,如果我進入http://domain.com/user/edit/ABCD我不該「T得到以下通常錯誤:
參數字典包含空對於參數非空類型「System.Int32」的方法'身份證「System.Web.Mvc.ActionResult編輯(Int32)已」
這(我認爲)項正是當時還表示http://www.asp.net/%28S%28pdfrohu0ajmwt445fanvj2r3%29%29/learn/mvc/tutorial-24-cs.aspx
被但是,我仍然看到「... null entry ...」錯誤。
任何想法,爲什麼這是這樣嗎?我的路線設置有問題嗎?
感謝