Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Postback с измененной строкой запроса из выпадающего списка в ASP.NET
Моя страница asp.net будет отображать различные элементы управления, основанные на том, какой отчет пользователь выбрал, например, некоторые отчеты требуют 5 раскрывающихся списков, некоторые два флажка и 6 раскрывающихся списков).
Они могут выбрать отчет двумя способами. С SelectedReport=MyReport в строке запроса или выбрав его из раскрывающегося списка. И это обычный случай, когда они приходят на страницу с SelectedReport в строке запроса, а затем меняют отчет, выбранный в раскрывающемся списке.
Мой вопрос заключается в том, есть ли возможность заставить выпадающее меню изменить строку запроса, когда она выбрана. Поэтому я бы хотел, чтобы SelectedReport=MyNewReport было в строке запроса и на странице Для обратной публикации.
В данный момент он просто выполняет обычную обратную передачу, которая оставляет SelectedReport=MyReport в строке запроса, даже если это не текущий выбранный отчет.
Edit: и мне также нужно сохранить ViewState.
Я попытался сделать Server.Transfer(Request.Path + "?SelectedReport=" + SelectedReport, true) в обработчике событий для выпадающего списка, и это работает функционально мудро, к сожалению, потому что это Server.Transfer (чтобы сохранить ViewState) вместо Response.Redirect URL отстает от того, что показано.
Может быть, я прошу невозможного или иду совершенно неверным путем.
@Craig коллекция QueryString доступна только для чтения и не может быть изменена.
@Jason это было бы здорово, если бы я не потерял ViewState, не так ли? (Извините, что я добавил Это, увидев ваш ответ).
Вам нужно отключить autopostback в раскрывающемся списке - затем вам нужно подключить некоторый код javascript, который возьмет на себя эту роль - в коде обработчика событий для события onchange для раскрывающегося списка вы создадите URL на основе текущего выбранного значения из раскрывающегося списка и используете javascript, чтобы затем запросить эту страницу.
EDIT: вот некоторые быстрые и грязные коды, которые указывают на то, что будет делать трюк:
<script>
function changeReport(dropDownList) {
var selectedReport = dropDownList.options[dropDownList.selectedIndex];
window.location = ("scratch.htm?SelectedReport=" + selectedReport.value);
}
</script>
<select id="SelectedReport" onchange="changeReport(this)">
<option value="foo">foo</option>
<option value="bar">bar</option>
<option value="baz">baz</option>
</select>
Очевидно, что вам нужно было бы сделать немного больше, но это действительно работает и даст вам то, что вы, кажется, ищете. Я бы рекомендовал использовать инструментарий JavaScript (я использую MochiKit, но это не для всех), чтобы получить более сложную работу - используйте ненавязчивые методы JavaScript, если это вообще возможно (в отличие от того, что я использую в этом примере).
@Ray: вы используете ViewState?! Мне очень жаль. :P почему в данном случае вам нужно его сохранить? скажите на милость?
Вы можете заполнить свой выпадающий список на основе строки запроса на не-обратные запросы, а затем всегда использовать значение из выпадающего списка. Таким образом, первое посещение страницы пользователем будет основано на строке запроса, а последующие изменения, внесенные в раскрывающийся список, изменят выбранный отчет.
Состояние просмотра сохраняется только для нескольких запросов на одну и ту же страницу . Изменение строки запроса в URL вызывает запрос на новую страницу,тем самым очищая состояние представления.
Можно ли устранить зависимость от состояния представления, добавив дополнительные параметры строки запроса? Затем вы можете построить новые URL и Response.Redirect к нему.
Другой вариант - использовать свойство Action в форме для очистки строки запроса, чтобы по крайней мере строка запроса не противоречила тому, что отображается на странице После выбора пользователем другого отчета.
Form.Action = Request.Path;
Если это автоматическая запись при изменении данных, то вы должны быть в состоянии перенаправить на новую строку запроса с обработчиком на стороне сервера события 'onchange' выпадающего списка. Если это кнопка, обработайте серверную сторону в событии click. Я бы отправил образец того, о чем я говорю, но я уже выхожу, чтобы забрать детей.
Вы можете использовать следующую функцию для изменения строки запроса при обратной передаче в asp.net, используя сценарий Webresource.axd, как показано ниже.
var url = updateQueryStringParameter(window.location.href,
'Search',
document.getElementById('txtSearch').value);
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("searchbutton", "",
true, "aa", url, false, true));