0

ASP.NET MVC4 ルーティングの使用:

サイトのメイン セクションにデフォルトのルーティング構成を設定したい場合:

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

次に、次のような別のルーティング構成です。

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

URLの文字列 " FOO/ " に注目してください (/{controller...

たとえば、次のような URL を使用してサイトのメイン セクションにアクセスできるようにしたいと考えています。

http://dummyurl.com/bar/1

ただし、使用する場合は、同じ名前のコントローラーとアクションにアクセスします

http://dummyurl.com/**FOO**/bar/1

4

2 に答える 2

1
routes.MapRoute(
    name: "FOO",
    url: "FOO/{controller}/{action}/{id}",
    defaults: new { controller = "FOO", action = "bar", id = UrlParameter.Optional }
);

という名前の mvc エリアがない限りFOO、そのルートは予期しないものになる可能性があります。そのルートはでのみ機能しますhttp://yourdomain/foo/foo/any_method_in_foo/id

于 2013-05-01T02:31:01.857 に答える
1

「Gu」によるルーティングのドキュメントを調べて、私が単に置く必要があったことを理解しました:

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

その上:

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

Routes.configとブランモで、いいですね。たとえば、プロジェクトの管理者 (「FOO」) セクションを分離してアクセスできるようになりました。

于 2013-05-01T02:31:05.000 に答える