Как изменить QueryString на пост обратно? - PullRequest
3 голосов
/ 12 июля 2011

Я хотел бы выполнить пост обратно и добавить несколько значений в строку запроса.Я использовал перенаправление на тот же URL и просто добавил параметры строки запроса, но когда я делаю это, мое состояние просмотра очищается, чего мне следует избегать.

Из-за технологии, с которой я работаю (SharePoint)Я должен передать свои параметры, используя строку запроса.

Я немного осмотрелся, но не нашел четкого ответа о том, как выполнить пост обратно с различными параметрами строки запроса.Есть ли способ сделать это?

Ответы [ 2 ]

6 голосов
/ 12 июля 2011

Просто возиться, но это добавляет строки запросов на стороне клиента, изменяя атрибут действия основной формы (в данном случае ct101), до того, как форма будет отправлена. Пример кода не учитывает дальнейшие постбэки ..

<script type="text/javascript">
    var el = document.getElementById('ctl01');

    el.onsubmit = function (evt) {
        var url = $(this).attr('action');
        $(this).attr('action', url + '?sayHi=Hi');
    };

</script>
0 голосов
/ 12 июля 2011

Попробуйте использовать Server.Transfer вместо Response.Redirect. Метод Server.Transfer также имеет второй параметр - «preserveForm». Если для этого параметра установлено значение True, с помощью такого оператора, как Server.Transfer ("WebForm2.aspx", True), существующая строка запроса и любые переменные формы будут по-прежнему доступны для страницы, на которую вы передаете.

Таким образом, вы можете перейти на ту же страницу, но с добавленными параметрами строки запроса у вас останется доступ к старым значениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...