【发布时间】:2019-02-18 00:11:48
【问题描述】:
我已经搜索了很长时间,但是对于这种情况,我没有找到答案。
我有一个HomeController,我的 route.config 中的默认路由如下:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
所以; http://localhost:36690/Home 自动调用Index。
我还有一个带有Index 方法的MyController(它是route.config 中的自定义路由)并且可以只写http://localhost:36690/My 并且它可以工作。
但我想要一个自定义路由没有任何Index。
如果我请求localhost:36690/New,它应该调用BASIC。
所以我尝试了以下方法:
routes.MapRoute(
"New",
"{controller}/{action}",
new { controller = "New", action = "Basic" }
);
但它忽略了我的默认操作“基本”并引发错误:
“/”应用程序中的服务器错误。无法找到该资源。 "
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing