【发布时间】:2017-01-31 05:50:00
【问题描述】:
我试图在我的应用程序的索引操作中省略“/Index”。我知道有一百万个类似的帖子,但我的似乎有点不同。
基本上,我想将我的“家庭”控制器/动作设置为时间/仪表板,但仍然让“索引”成为每个其他控制器的默认动作。
当我的默认路由是“Home”“Index”时。其他页面都很好。 “索引”会隐藏。但后来我把它改成了“仪表板”。所以现在当我导航到任何控制器/索引时。它需要“/Index”,否则我会得到 404。现在这是我的路线:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Time", action = "Dashboard", id = UrlParameter.Optional }
);
【问题讨论】:
-
您需要将您的操作方法名称从
index更改为dashboard.. -
对。我猜如果所有的“索引”都变成了用户永远不会知道的“仪表板”。不过,这对我来说似乎有点俗气。但我明白你的意思。为什么我必须将 Dashboard 命名为“Dashboard”?我应该可以称它为“索引”,因为他们也永远不会看到它。问题基本上是未经身份验证的用户可以转到 http/myapplication 并查看 MyController/Index。而且我不想经过身份验证的用户去 http/myapplication 并查看时间/仪表板。我想我可以通过重定向来解决这个问题
标签: asp.net asp.net-mvc routing routes webpage