我们可以只使用Asp.net MVC应用程序的URL中的控制器名称和id参数

时间:2012-01-07 06:31:34

标签: asp.net-mvc-3 url-routing asp.net-routing

假设我有一个名为 category 的控制器,其操作方法为索引,它将 id 作为参数。

因此,网址如下所示: category / Index / foo 。正如您所看到的,Index部分似乎并不合适。诸如此类的URL: category / foo 将更具可读性和易懂性。

就像在SO中一样,这些人使用: question / 857344

我如何实现这样的URL。在我的路线中,我为所有三个设置了默认值:controller,action和id。但是,当我尝试访问 category / foo 时,我得到“404 - 资源找不到”

1 个答案:

答案 0 :(得分:3)

routes.MapRoute(
               "Category/{id}",
               new { controller = "Category", action = "Index", id = UrlParameter.Optional } // Parameter defaults
               );

您可以按照您希望的样子进行映射,然后指定操作。

还要确保将其放在默认路线之前