Переменная сеанса не обновляется? ASP.NET - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть три шага мастера. На первом шаге я использую повторитель, чтобы создать серию кнопок, из которых человек может выбрать. Когда пользователь выбирает одну из кнопок, значение кнопки сохраняется в состоянии сеанса. Они переходят к следующему шагу и показывают аналогичный список кнопок, которые основаны на том, что они ранее выбрали. Таким образом, если вы выберете «Гамбургер», вы можете получить опции «лук», «салат», «помидор», а если вы выберите «Хот-дог», вы можете получить «квашеную капусту» и «кетчуп». Допустим, человек выбирает гамбургер. Это сохраняется в состоянии сеанса следующим образом:

    Public Sub Button_ItemCommand(ByVal Sender As Object, ByVal e As   RepeaterCommandEventArgs)
    ' ******** Lets pass on the results of our query in LinqDataSource1_Selecting.
    Session("food_select") = RTrim(e.CommandName)
    Wizard1.ActiveStepIndex = 1
End Sub

Теперь, это работает отлично и денди. Но допустим, я выбрал гамбургер и понял, что очень хочу хот-дог. Я возвращаюсь к первому шагу мастера и нажимаю кнопку хот-дога - но когда мастер переходит к следующему шагу, я все еще вижу варианты гамбургеров! Переменная сеанса не была обновлена. Зачем? Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Проблема была в проверке переменных сеанса слишком рано. Мне нужно было переместить их позже в процессе загрузки страницы - например, предварительно, затем переменные сеанса будут обновлены.

0 голосов
/ 15 апреля 2010

Возможно, переменная сеанса была обновлена, но следующая страница все еще была кэширована с момента предыдущего обращения к ней.

Убедитесь, что ваши страницы мастера не кэшированы.

...