0

カスタム ルートを作成しようとしていますが、機能させることができず、すべて問題ないように見えますが、常に 404 が返されます。

これで、ルートが定義されました。

デフォルトの前に最初に定義され、ルート デバッガーによると、これがヒットするルートです。(Matched Route: Game/{id}/{title})

routes.Add(
    "GamesDefault",
    new Route("Game/{id}/{title}",
    new RouteValueDictionary(new { controller = "Games", action = "ShowGame" }),
    new DefaultMvcRouteHandler(urlTranslator, urlFoundAction)));

私が到達しようとしているパスは次のとおりです。/Game/5/test

そして、これが Controller 宣言です。はGamesControllerControllers フォルダに配置され、そのビューは にありViews/Games/showGames.cshtmlます。

public GamesController()
{
}

public ActionResult ShowGames(int id, string title)
{
    return View(title);
}

DefaultMvcRouteHandler は派手なことは何もしません。

public class DefaultMvcRouteHandler : IRouteHandler
{
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        return new MvcHandler(requestContext);
    }
}

デフォルトのルートは問題なく動作します。ルートの名前を変更するなど、見つけることができるすべてを試したので、フォルダーなどと一致しません。さらに何を試してみるべきかについて誰かがアイデアを持っていれば、私は最も感謝しています.

4

1 に答える 1

0

私のコメントによると、controllerとの値に誤ったデフォルト ルート値を渡していますaction

次のようにルートを更新します。

routes.Add(
   "GamesDefault",
   new Route("Game/{id}/{title}",
   new RouteValueDictionary(new { controller = "GamesController", action = "ShowGames" }),
   new DefaultMvcRouteHandler(urlTranslator, urlFoundAction)));
于 2013-03-20T19:22:04.400 に答える