我最近发现,UrlHelper.IsLocalUrl
方法总是返回false
,如果它检测到非 ASCII 字符url
范围。
Example:
var isLocal = UrlHelper.IsLocalUrl("контакты"); //false
这是一个错误,还是“设计使然”?
最新的可用实现正在检查这些条件:
- 网址开头为
"/"
并且后面没有"/"
or "\"
- 或者网址开头为
"~"
然后是"/"
因此传递给此方法的所有 url 必须以"/"
or "~/"
.
另外,如果您想知道,它不会考虑当前主机并检查诸如http
例如。
Update:这是使用的实现的链接UrlHelper.IsLocalUrl
http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/600963a4df15#src/System.Web.WebPages/RequestExtensions.cs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)