我的默认路线非常简单,但在没有完全限定整个路线的情况下,页面无法正确加载。
以下是我使用的路线:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);
这是HomeController中应用程序中唯一的操作:
public ActionResult Index()
{
return Content("New stuff");
}
使用以下网址:
http://localhost:8081/NewMvc1/
我得到The incoming request does not match any route.
使用:
http://localhost:8081/NewMvc1/Home
http://localhost:8081/NewMvc1/Home/Index
我得到一个404 Mvc页面,说它试图用静态文件处理请求。
然而,终于有了一个完全合格的网址'
http://localhost:8081/NewMvc1/Home/Index/1
我从一个且只有一个动作获得预期的结果输出。
New Stuff
这看起来并不正确。我也从同一个应用程序中获得了执行操作失败(不确定是否相关)。
我已经使用了Phil Haack的RouteDebugger来实现这一点,它指出,当可选参数丢失时,它与URL不匹配,但是在提供这些参数时也是如此。< / p>
答案 0 :(得分:0)
您错过了默认设置中的id
:
new { controller = "Home", action = "Index", id = UrlParameter.Optional }