我有mvc项目。在控制器中我创建了文件夹Users。在这个文件夹中我放了用户控制器。所以。我需要在RouteConfig.cs文件上写一下,我手动在浏览器上打开用户控制器的页面?
P.S。我这样写,但它没有帮助我。
routes.MapRoute(
"Users",
"Users/AprilNelsonController/{action}",
new { controller = "AprilNelsonController", action = "Index" },
new[] { "Users" }
);
答案 0 :(得分:0)
评论card_master提供的应该可以帮助您,但我可以看到您的路线配置有两个主要问题。首先,您在路线中包含“控制器”一词。按惯例添加,因此MVC可能正在寻找“AprilNelsonControllerController”。
其次,命名空间约束需要具有完整的命名空间。 e.g。
routes.MapRoute(
name: "Users",
url: "Users/AprilNelson/{action}",
defaults: new { controller = "AprilNelson" action = "Index" },
namespaces: new string[] { "YourAppName.Controllers.Users" }
);
这将启用以下路由:“/ Users / AprilNelson”或“/ Users / AprilNelson / Index”来调用AprilNelsonController上的索引操作。
通过一起移除控制器可以进一步改善这一点。
routes.MapRoute(
name: "Users",
url: "Users/{controller}/{action}",
defaults: new { action = "Index" },
namespaces: new string[] { "YourAppName.Controllers.Users" }
);
这将允许您以相同的方式呼叫任何用户的操作,例如
/用户/ JessicaCox
/用户/ SaraGreen
需要注意的一点是,您必须将此路由定义置于默认路由定义之上,以确保首先对其进行评估。
希望有所帮助。