Как добавить значения querystring с помощью метода RedirectToAction?
В asp.net mvc я использую этот код:
RedirectToAction("myActionName");
Я хочу передать некоторые значения через строку запроса, как это сделать?
Ответ 1
Любые переданные значения, которые не являются частью маршрута, будут использоваться в качестве параметров запроса:
return this.RedirectToAction
("myActionName", new { value1 = "queryStringValue1" });
Вернется:
/controller/myActionName?value1=queryStringValue1
Предполагая, что нет параметра маршрута с именем "значение1".
Ответ 2
Также рассмотрите возможность использования T4MVC, который имеет методы расширения AddRouteValue() и AddRouteValues() (см. здесь).
Ответ 3
Не делайте ту же ошибку, которую я делал. Я обрабатывал 404 ошибки и хотел перенаправить с помощью 404=filename в querystring, т.е. mysite.com?404=nonExistentFile.txt.
Ключи QueryString не могут начинаться с цифр. Изменение с 404 до FileNotFound решило мою проблему, то есть mysite.com?FileNotFound=nonExistentFile.txt.