使用查询字符串重定向

时间:2013-09-13 20:13:25

标签: asp.net-mvc

我遇到某种情况,如果提供了Returnurl,控制器中的ActionResult方法需要进行重定向。

但是,如何将查询字符串附加到该字符串并仍然使用:

返回重定向(网址)?

每次我这样做时,我总会得到一个安全例外,即请求具有潜在的危险值(符号,甚至是问号)。

2 个答案:

答案 0 :(得分:4)

尝试此操作,根据需要填写操作和控制器的名称:

System.Web.Routing.RouteValueDictionary rvd = new System.Web.Routing.RouteValueDictionary();
foreach(string key in HttpContext.Request.QueryString.AllKeys)
{
    rvd.Add(key, HttpContext.Request.QueryString[key]);
}

return RedirectToAction("MyAction", "MyController", rvd);

答案 1 :(得分:-1)

忘了 - 我使用了Url.Content,现在它运行得很好。

返回重定向(Url.Content(model.ReturnUrl + otherPotentialQueryStringHere)