У меня есть два элемента управления на странице: a DropDownList
и Button
.Если пользователь нажимает кнопку, он получает всплывающую форму, которая, после завершения, приводит к полной перезагрузке базовой страницы, теряя значение в DropDownList.Чтобы уточнить, это обновление, а не постбэк.Я не могу изменить это, чтобы сделать это постбэком.Какой самый простой способ сохранить выбранное значение в DropDownList при обновлении этой страницы?Я не могу избежать обновления страницы, потому что данные, введенные во всплывающем окне, отражаются в другом месте на базовой странице.
Обновление
Я собрал воедино предварительное решение, котороеЯ не очень доволен: когда пользователь нажимает кнопку, я использую javascript, чтобы получить текущее значение раскрывающегося списка и передать его вместе со строкой запроса в загружаемое всплывающее окно.Когда пользователь нажимает «Сохранить» во всплывающем окне, в результате чего данные сохраняются, а затем перезагружается базовая страница, я сначала сохраняю значение строки запроса в переменной Session.При загрузке базовая страница просматривает указанную переменную Session.Если значение присутствует, оно соответствующим образом устанавливает значение раскрывающегося списка и удаляет переменную Session.
Хотя это и несколько глупо, но это лучшее, что я могу придумать.Я знаю, что мои Gracious Benefactors не любят использовать переменные Session, но, учитывая перезагрузку страницы, я не могу придумать альтернативу.Кроме того, поскольку переменная Session недолговечна и создается незадолго до закрытия страницы, а затем удаляется вскоре после открытия следующей страницы, я надеюсь, что это будет приемлемо.
Противопоставление мнений, опровержение моегорешение или аргументация, с энтузиазмом приветствуются.
Заключение
В конечном счете, после того, как я описал решение для моих Милостивых Благодетелей, мы согласились на альтернативный подход: если выборсделано в DropDownList, оно должно быть сохранено перед открытием всплывающего окна.Это позволяет полностью избежать проблемы ViewState.