1

私はこのような構造のサイトを持っています -

  • ホームページ - www.mysite.com。

  • カテゴリ ページ - www.mysite.com/Categories。(ホームページからリンクしています)

カテゴリ ページには、カテゴリ リンクのリストがあります。

誰かがカテゴリを選択した場合、次のように URL を表示したい -

  • (CategoryA を選択した後) - www.mysite.com/Categories/CategoryA

  • (CategoryB を選択した後) - www.mysite.com/Categories/CategoryB

現在、私の URL は次のように表示されます - www.mysite.com/Categories/ Index /CategoryA

私はHomeControllerとを持っていCategoriesControllerます。には、単語Indexの由来であるカテゴリを除いCategoriesControllerて、Actionと呼ばれるがあります。Index

Indexという単語を削除するにはどうすればよいですか?

次のようにa をマッピングしようとしRouteましたが、うまくいきませんでした -

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

2 に答える 2

2

私の解決策は次のとおりでした-

私はこのようにマッピングしましたRoute-

        routes.MapRoute(
            "CategoryPage",
            "Categories/{id}",
            new { controller = "Categories", action = "Index" }
        );

そして、私の中Viewで、私ActionLinkはこのように見えました-

@Html.ActionLink("CategoryDescription", "Index", new { controller = "Categories", id = c.Id })

(この回答は、この解決策につながりました -ルーティング: URL でアクション名を非表示にする方法? )

于 2013-07-26T19:07:09.653 に答える