0

我有一个三步向导。第一步,我使用中继器创建一系列可供个人选择的按钮。当用户选择其中一个按钮时,按钮的值将保存到会话状态。他们被带到下一步并显示一个类似的按钮列表,这些按钮基于他们之前选择的内容。因此,如果您选择“汉堡”,您可能会收到“洋葱”、“生菜”、“番茄”的选项,而如果您选择“热狗”,您可能会收到“酸菜”和“番茄酱”的选项。假设一个人选择汉堡包。这被保存到会话状态中,如下所示:

    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

现在,这工作得很好而且花花公子。但是假设我选择了汉堡包,然后意识到我真的很想吃热狗。我回到向导的第一个步骤并单击热狗按钮 - 但是当向导进行到下一步时,我仍然看到汉堡包的选项!会话变量尚未更新。为什么?谢谢!

4

2 回答 2

0

会话变量可能已更新,但下一页仍从上次访问时缓存。

确保您的向导页面没有被缓存。

于 2010-04-15T13:51:51.730 回答
0

问题在于过早地检查会话变量。我需要稍后在页面加载过程中移动它们 - 例如预渲染,然后会更新会话变量。

于 2010-05-10T20:33:09.847 回答