从URL中删除操作名称

时间:2013-07-26 18:11:08

标签: asp.net-mvc

我的网站结构如下 -

  • 首页 - www.mysite.com。

  • 分类页面 - www.mysite.com/Categories。 (从主页链接)

在“类别”页面上,我有一个类别链接列表。

如果有人选择了一个类别,我想显示这样的网址 -

  • (选择CategoryA后) - www.mysite.com/Categories/CategoryA

  • (选择CategoryB后) - www.mysite.com/Categories/CategoryB

目前,我的网址显示如下 - www.mysite.com/Categories/ 索引 / CategoryA

我有HomeControllerCategoriesControllerCategoriesController有一个名为Action的{​​{1}},除了索引这个词之外的类别。

如何摆脱索引这个词?

我尝试映射Index,如下所示,但它不起作用 -

Route

2 个答案:

答案 0 :(得分: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?

答案 1 :(得分:0)

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