あなたが定義されたルート:あなたは(あなたが使用していないと仮定すると、それらが同じであることを確認する必要があり
http://localhost/MyController/MyView/11/25?someID=0
:
[Route("{page}/{size}")]
public ActionResult MyView(int page = 0, int size = 25, FilterModel filterModel = null)
{
...
}
は、あなたがしたいURLと一致していませんコントローラーのRoutePrefix
属性):
[Route("MyController/MyView/{page}/{size}")]
public ActionResult MyView(int page = 0, int size = 25, FilterModel filterModel = null)
{
...
}
URL http://localhost/MyController/MyView?someID=0
が機能する理由は、あなたのDefault
ルートと一致し、正しいコントローラとアクション名をフレームワークに渡してアクションメソッドに到達する可能性が高いためです。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
も注意してくださいあなたは属性のルーティングを有効にするためにroute.MapMvcAttributeRoutes()
前に、デフォルトルートを持っている必要があること。
私はまだ404エラーを受け取ります – Tony
何がエラーですか、具体的には? – Programmer
ちょうど404が見つかりません – Tony