我目前有以下途径:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{resource}.gif/{*pathInfo}");
MvcRoute.MappUrl("{controller}/{action}/{ID}")
.WithDefaults(new { controller = "home", action = "index", ID = 0 })
.WithConstraints(new { controller = "..." })
.AddWithName("default", routes)
.RouteHandler = new MvcRouteHandler();
MvcRoute.MappUrl("{title}/{ID}")
.WithDefaults(new { controller = "special", action = "Index" })
.AddWithName("view", routes)
.RouteHandler = new MvcRouteHandler();
所述SpecialController有一个方法: public ActionResult Index(int ID)
每当我点我的浏览器中http://hostname/test/5
,我得到以下错误:
参数字典包含“SpecialController”非空类型“System.Int32”的方法“System.Web.Mvc.ActionResult指数(的Int32)”的参数“ID”空条目。 为了使一个参数可选它的类型应该是引用类型或可空类型。
参数名:参数
说明:在当前Web请求的执行过程中发生未处理的异常。 请检查堆栈跟踪有关该错误它起源于代码的详细信息和。
这是为什么? 我用mvccontrib路线调试器,似乎路线是可访问的预期。