在ASP.Net Core 6 MVC中,有时候我们需要为同一个操作定义多个路由地址,例如使用不同的URL来启用同一个控制器动作。这可以使用以下代码来实现:
[HttpGet] [Route("route1/{param}")] [Route("route2/{param}")] public IActionResult ActionName(string param) { // 执行操作... }
以上代码中,HttpGet特性指定该方法仅响应HTTP GET请求;[Route("route1/{param}")]和[Route("route2/{param}")]特性分别指定路由路径。这意味着当你键入URL“http://localhost:xxxx/route1/xxx”或“http://localhost:xxxx/route2/xxx”时,ActionName方法都会触发,并且在参数中提取xxx值。
请注意,这种方法仅适用于传递参数的路由。如果你想使用不同的URL来与ActionName方法一起呈现不同的视图,那么你需要调整方法的实现,以便根据请求的URL来选择要呈现的视图。
上一篇:ASP.NETCore6MVC中使用EntityFramework时,数据种子未运作的问题。
下一篇:ASP.NetCore6MVC中,使用自定义Principal时,在AuthorizeFilter属性上显示为Forbidden。