0

私のasp.netmvcプロジェクトでは、すべてのリンクにインデックスアクションが表示されます。例:

localhost:1559 /ホーム/インデックス
localhost:1559 / about-us /インデックス
localhost:1559 / contact-us /インデックス
localhost:1559/ポートフォリオ/インデックス

なぜインデックスアクションを隠さないのですか?

私はこのように見せたいです:

localhost:1559 /ホーム
localhost:1559 / about-us
localhost:1559 / contact-us
localhost:1559 / Portfolio

これは私のグローバルファイルコードです:

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

            routes.Add(
            new Route("{controller}/{action}/{Q1}/{Q2}",
                new RouteValueDictionary(
                    new { controller = "Home", action = "Index", Q1 = UrlParameter.Optional, Q2 = UrlParameter.Optional }),
                    new HyphenatedRouteHandler())
            );
            routes.Add(
            new Route("{controller}/{action}/{Q1}",
                new RouteValueDictionary(
                    new { controller = "Home", action = "Index", Q1 = UrlParameter.Optional }),
                    new HyphenatedRouteHandler())
            );
            routes.Add(
            new Route("{controller}/{action}",
                new RouteValueDictionary(
                    new { controller = "Home", action = "Index"}),
                    new HyphenatedRouteHandler())
            );
        }

誰が私を助けられるか ?

4

1 に答える 1

0

それ以外の

new Route("{controller}/{action}/{Q1}",

使用する

new Route("{controller}/{Q1}",

それぞれについて(パラメータに対応するように調整する必要があります)。

これが発生する理由は、アクションが「インデックス」と呼ばれるためです。したがって、ルートはプレースホルダー{action}に「index」というアクションの名前を入力しています。

于 2012-10-07T00:45:58.573 に答える