На моей странице asp.net будут отображаться различные элементы управления, в зависимости от того, какой отчет выбрал пользователь, например. некоторые отчеты требуют 5 раскрывающихся списков, некоторые два флажка и 6 раскрывающихся списков).
Они могут выбрать отчет двумя способами. С SelectedReport=MyReport
в строке запроса или выбрав его из выпадающего списка. И они обычно приходят на страницу с SelectedReport в строке запроса, а затем изменяют выбранный отчет в раскрывающемся списке.
У меня вопрос, есть ли способ заставить выпадающий список изменять строку запроса, когда она выбрана? Поэтому я бы хотел SelectedReport=MyNewReport
в строке запроса и странице, чтобы отправить обратно.
В данный момент он выполняет обычную обратную передачу, которая оставляет SelectedReport=MyReport
в строке запроса, даже если это не текущий выбранный отчет.
Редактировать: И мне также нужно сохранить ViewState.
Я пытался сделать Server.Transfer(Request.Path + "?SelectedReport=" + SelectedReport, true)
в обработчике событий для Dropdown, и это работает с умом, к сожалению, потому что это Server.Transfer (для сохранения ViewState) вместо Response.Rirectirect URL отстает от того, что показано.
Может быть, я спрашиваю о невозможном или делаю это совершенно неправильно.
@ Craig Коллекция QueryString доступна только для чтения и не может быть изменена.
@ Джейсон Это было бы здорово, если бы я не потерял ViewState, не так ли? (Извините, я добавил это после просмотра вашего ответа).