相关疑难解决方法(0)

在每个网址的末尾添加一个尾部斜杠?

我这里有点问题.我需要在我正在处理的网站的每个网址末尾添加一个尾部斜杠.我将网站内的所有链接定义为具有如下的尾部斜杠:

<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路由系统.
那么你们怎么说呢?

asp.net-mvc url-routing

30
推荐指数
3
解决办法
2万
查看次数

Web API - 将双参数传递给GET方法

我有以下方法:

[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)

......但它也不起作用.

我该如何解决?

asp.net-web-api asp.net-web-api-routing asp.net-web-api2

2
推荐指数
1
解决办法
1349
查看次数