我这里有点问题.我需要在我正在处理的网站的每个网址末尾添加一个尾部斜杠.我将网站内的所有链接定义为具有如下的尾部斜杠:
<a href="/register/">Register</a>
Run Code Online (Sandbox Code Playgroud)
虽然这很好用,但还有一个小问题:它来自调用RedirectToAction()的生成的url.例如:
return RedirectToAction("Register", "Users");
Run Code Online (Sandbox Code Playgroud)
将导致url更改为/ register,没有尾部斜杠.我修改了我的路由系统:
routes.MapRoute("register",
"register/",
new {controller = "Users", action = "Register"}
);
Run Code Online (Sandbox Code Playgroud)
仍然不会自动添加所需的尾部斜杠!
我查了这个问题和这个问题,但这些完全不同,因为我没有使用任何url重写库,我只是使用asp.net mvc路由系统.
那么你们怎么说呢?
我有以下方法:
[Route("GetEditorialRequestsByCoordinates/{lat:min(-90):max(90)}/{lng:min(-180):max(180)}")]
[AutomapperExceptionApiFilterAttribute]
public HttpResponseMessage GetEditorialRequestsByCoordinates(double lat, double lng)
{
}
Run Code Online (Sandbox Code Playgroud)
我打电话时工作正常......
GET /v1/api/request/GetEditorialRequestsByCoordinates/48/2
Run Code Online (Sandbox Code Playgroud)
但是我希望像这样传递double值:
GET /v1/api/request/GetEditorialRequestsByCoordinates/48.999/2.777
Run Code Online (Sandbox Code Playgroud)
我收到了一个错误(找不到404).好像,它找不到合适的路线方法.我试图通过以下方式设置路线:
[Route("GetEditorialRequestsByCoordinates/{lat:double:min(-90):max(90)}/{lng:double:min(-180):max(180)}")]
Run Code Online (Sandbox Code Playgroud)
......但它也不起作用.
我该如何解决?