5

私は ac# Web API (.net 4) Web アプリケーションを持っています。私はいくつかのコントローラーを持っています。新しいコントローラーを Web アプリのルート ディレクトリにマップしたいと考えています。

ので、私は持っていますhttp://localhost/listproducts

URLにしたいですhttp://localhost

しかし、コントローラーにルートディレクトリを使用するように指示する方法がわかりません。名前に基づいて構成されているようです。

私が行った解決策は次のとおりです。

config.Routes.MapHttpRoute(
      name: "ListProductsApi",
             routeTemplate: "",
             defaults: new { controller = "ListProducts" } // Parameter defaults
);

コツはdefaults: new { controller = "ListProducts" } ラインです。(POSTアクションが必要なので、アクションを省略しました。明らかに、ルートルート「/」が必要な場合は、コントローラーに明示的に名前を付ける必要があります。

4

2 に答える 2

8

既存のデフォルト ルートを変更するだけです。現在、次のようになっているはずです。

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

に変更controller = "Home"controller = "listproducts"ます。

于 2012-10-04T15:15:07.317 に答える
3

global.asax.cs のデフォルト ルートを変更するだけで、かなり簡単です。

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

に変更します

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "ListProducts", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
于 2012-10-04T15:15:34.053 に答える