我正在使用 ASP.NET Core 6 MVC。
我从请求中读取了返回的 URL,然后我想将用户重定向到这个站点。获取 URL 的一部分不是问题,但我不知道之后如何使用参数。
我目前有:
var previous = Request.Query["ReturnUrl"].ToString().TrimStart('/');
var path = previous.Split("/");
if (Url.IsLocalUrl(url))
{
return RedirectToAction(path[0], path[1]);
}
我现在将有一个带有
(Controller, Action+Params)
的数组。当我只有控制器+动作(Home/Index
)时,上面的没问题,但是当我有参数的时候,它就不起作用了。 (Home/Index?id=123
, Home/Index?id=123&action=nothing
, www.mysite.com
, 等等).
我如何正确解析它然后将其用于重定向?或者是否可以阅读完整的
ReturnUrl
,然后将其用作重定向?我也没有找到如何做到这一点的方法。
我找到了
QueryString
类,但是为此,我必须先解析传入的URL。
有什么想法吗?
您可以使用这样的
Request.QueryString
方法:
string returnUrl = Request.QueryString["ReturnUrl"];
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}