IUrlHelper Url.IsLocalUrl(url) 不适用于路由名称



我正在尝试测试路由名称是否是本地的,但我知道验证这一点的唯一方法是通过Url.IsLocalUrl(string url)但是当我传递路由名称时它会返回false:例如,我用[HttpGet("list-employment-post", Name = "list_employment_post")]装饰了我的一个操作方法,因此此Url.IsLocalUrl("list_employment_post")失败。

如果你的字符串网址是这样的:"/list-employment-post",它是本地网址。但是如果你的字符串网址是这样的:"https://localhost:44309/list-employment-post",它是非本地的。

您可以像下面这样检查网址:

var flag = Url.IsLocalUrl("/list_employment_post");

参考:

https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.iurlhelper.islocalurl?view=aspnetcore-2.2#examples

相关内容

最新更新