我得到了一个非常基本的 ASP.NET MVC (1) 路由问题,但我现在找不到答案。
我想调用一个具有三个参数的操作方法,但是当我使用多个参数调用它时遇到了 404。
路线看起来像这样(我删除了所有其他路线,但默认路线除外):
routes.MapRoute(
"Test",
"{id}/{page}/{lineend}",
new { controller = "Basic", action = "Test" },
new { id = @"\d+", page = @"\d+" }
);
该方法如下所示:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Test(int? id, int? page, string lineend)
{
// some code here
return new ViewResult();
}
这就是发生的事情:
http://localhost:55462/Basic/Test/
作品
http://localhost:55462/Basic/Test/1
作品
http://localhost:55462/Basic/Test/1/2
给出 404
http://localhost:55462/Basic/Test/1/2/3
给出 404
删除约束或将方法签名更改为 (int, int, string) 具有相同的效果。在第一种和第二种情况下,应用程序抱怨 null 参数,其他情况导致 404。
我知道这个问题必须非常基本,但我就是不明白。
谢谢你的帮助!