1

私のVisitsController:

public ActionResult Index(Visits visits, int? id)
{
    ....
    return View(v);
}

ここに私のルート設定があります

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", 
                        id = UrlParameter.Optional }
    );
}


Works: http://localhost:49225/Visits
Does not work: http://localhost:49225/Visits/123

カスタム ルートはどうなるでしょうか (そして、強制的に整数にしますか)。

4

1 に答える 1

1

それを機能させるには、新しいルートを追加する必要があります。

現在、これは機能します:

/Visits/Index/123

以下を追加する必要があると思います。

routes.MapRoute(
    name: "VisitsDefault",
    url: "Visits/{id}",
    defaults: new { controller = "Visits", action = "Index", 
                    id = UrlParameter.Optional }
);

これは、すでに Visits 用のモデルバインダーがあることを前提としています。

于 2012-10-17T20:12:42.443 に答える