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和一个CategoriesControllerCategoriesController有一个Action被调用的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 })

(这个答案让我找到了这个解决方案 - Routing: How to hide action name in url?

于 2013-07-26T19:07:09.653 回答
0

/* 这仅用于操作名称/
routes.MapRoute("custom_name1", "sitemap", new { controller = "home", action = "sitemap", id = UrlParameter.Optional }); /
这仅适用于控制器名称 */
routes.MapRoute("custom_name2", "home", new { controller = "home", action = "sitemap", id = UrlParameter.Optional });

于 2015-03-12T11:01:04.347 回答