Ответ Джона Фриленда в основном так, как я бы это сделал. Возможно, вы захотите поместить код для установки индекса списка в классе codebehind внутри функции Page_Load.
Вы также можете сохранить значение параметра, установленного в сеансе ASP.Net, но это станет немного сложнее, если вы начнете позволять пользователю перемещаться по сайту. Они могут вернуться на страницу 2 и по-прежнему иметь переменную сеанса, установленную на что-то неожиданное. Кроме того, у вас могут возникнуть проблемы с удалением сеанса, если пользователь какое-то время неактивен или если сервер перезагружен. С другой стороны, если вы поместите его в объект Session, вы можете перемещаться между страницами назад и вперед и всегда иметь под рукой все необходимые данные.
Если вы хотите посмотреть образец, попробуйте что-то вроде:
void Page_Load (object sender, EventArgs e) {
if (! Page.IsPostBack) {
ddlList.SelectedIndex = Request.QueryString["option"]
}
Вы хотите поместить код в раздел! IsPostBack, чтобы он запускался только при первом обращении пользователя к странице.