我将returnUrl = Request.Url
传递给控制器动作,问题是当我在重定向之前使用以下代码检查它时,由于IsLocalUrl()
调用而导致失败。为什么?
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
谢谢。
最佳答案
问题很简单,对于Url.IsLocalUrl()
这样的URL,/Orders/Details/5326
返回true;对于http://www.company.com/Orders/Details/5326
这样的URL,false返回。
关于asp.net - returnUrl和IsLocalUrl(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25522008/