这可能是一个愚蠢的问题,但我是asp.net MVC的新手。提前谢谢。
如何仅在索引操作的情况下显示控制器名称?
E.g。 http://localhost/Account/Index to http://localhost/Account/
。
我该怎么做?谢谢 。
答案 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() }
);