一千萬個為什麽

搜索

會話變量未更新? ASP.NET

我有一個三步向導。在第一步,我使用轉發器創建一系列按鈕,個人可以從中選擇。當用戶選擇其中一個按鈕時,按鈕的值被保存到會話狀態。它們將進入下一步,並顯示基於之前所選內容的類似按鈕列表。因此,如果您選擇“漢堡”,您可能會收到“洋蔥”,“生菜”,“番茄”的選項,而如果您選擇“熱狗”,您可能會收到“酸菜”和“番茄醬”。 讓我們說一個人選擇漢堡包。這樣保存到會話狀態:

    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

現在,這工作得很好,花花公子。但是讓我說我​​選擇漢堡包然後意識到我真的渴望一個熱狗。我回到第一個向導步驟並單擊熱狗按鈕 - 但是當向導進入下一步時,我仍然可以看到漢堡包的選項!會話變量尚未更新。為什麽? 謝謝!

最佳答案

問題是過早檢查會話變量。我需要稍後在頁面加載過程中移動它們 - 例如prerender,然後會更新會話變量。

轉載註明原文: 會話變量未更新? ASP.NET