如何在MVC 5 Url中的索引操作的情况下仅显示控制器名称?

时间:2015-11-27 07:50:08

标签: asp.net asp.net-mvc

这可能是一个愚蠢的问题,但我是asp.net MVC的新手。提前谢谢。

如何仅在索引操作的情况下显示控制器名称?

E.g。 http://localhost/Account/Index to http://localhost/Account/

我该怎么做?谢谢 。

2 个答案:

答案 0 :(得分:1)

根据你的例子 http://localhost/Account/Index 此处将调用Account Conttroller的Index操作,并再次在 http://localhost/Account/ 中调用Index操作,因为您可能已经提到了在RouteConfig.cs文件中定义路由时默认操作为索引,并且您还没有在URL中提及操作名称,因此路由中的默认操作是Index,将调用控制器的索引操作。

答案 1 :(得分:0)

此行显示了用户传递给浏览器的内容。因此,如果他通过http://localhost/Account/Index,您只能在控制器中使用Redirect方法来更改网址。但要小心,在这种情况下你可能会丢失Context。

但是,如果您询问为何只调用http://localhost/Account/动作方法Index,那么您应该查看RouteConfig.cs文件夹中的App_Start。定义了默认路由:

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    constraints: new { id = new NullableConstraint() }
);