我将returnUrl = Request.Url
传递给控制器操作,问题是当我在重定向之前使用以下代码检查它时,由于IsLocalUrl()
调用它失败了。为什么呢?
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
感谢。
答案 0 :(得分:7)
问题很简单,Url.IsLocalUrl()
对于/Orders/Details/5326
等网址返回true,对http://www.company.com/Orders/Details/5326
等网址返回false