2

Global.asaxで別のルートを作成しようとしています。

MVC3を使用して自分のWebサイトの動的ページを作成しています。このURLを入力すると/Home/ GetPages / About%20Us

正しいコントローラーメソッドをプルし、データをプルします。

しかし、私はそれをこの/ About%20Usに変更しようとしています

以下は、グローバルファイルに追加したルートです。

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

どんな助けでもいただければ幸いです。

4

2 に答える 2

1

あなたは近くにいました。必要なのは、のデフォルトエントリをPageName削除し、URLテンプレートを変更して、コントローラーとアクションの識別子を削除することだけです。

routes.MapRoute(
    "Pages", // Route name
    "{PageName}", // URL with parameters
    new { controller = "Home", action = "GetPages" } // Parameter defaults
);

また、このルートが他のルートの後にマップされていることを確認してください。そうしないと、それらが機能しなくなります(ルート以外のほぼすべてのURLがこのルートをトリガーするため)。

于 2012-10-27T00:55:40.510 に答える
0

私は実際にルートを逆にしました、そしてそれはうまくいきました。ほとんどのページはルート上で動的になるため、これは正常に機能するはずです。お手伝いありがとう...

于 2012-10-27T01:08:16.703 に答える