我正在尝试测试路由名称是否是本地的,但我知道验证这一点的唯一方法是通过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