【发布时间】:2011-02-13 02:15:31
【问题描述】:
我在代码中的一个节点设置了一个会话对象:
Session("my_name") = "Dave"
稍后在我的代码中,我让用户有机会更新这个对象:
Session("my_name") = TextBox1.Text
我重新加载我的页面并显示如下的小问候语句:
Label1.Text = "Hello" & CStr(Session("my_name"))
无论我如何更改 Session("my_name"),结果都是:“Hello Dave”。
编辑:这是我编写的完整代码隐藏:
Public Class WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Response.ExpiresAbsolute = DateTime.Now.AddMonths(-1)
If Page.IsPostBack = False Then
Session("my_name") = "Dave"
End If
Label1.Text = CStr(Session("my_name"))
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Session("my_name") = TextBox1.Text
End Sub
结束类
【问题讨论】:
-
您需要提供完整的代码隐藏,以便任何人确定您的问题所在。
-
当您在 Session("my_name") = Textbox1.Text 上设置断点时,它会更新吗?
-
您的 Page_Load 中有 Session("my_name") = "Dave" 吗?
-
@Germ - 它是,但在 If..Then Page.IsPostBack=False 子句中
-
@Jack 当我在调试器的 autos 部分向下钻取到 Session-->Container-->System.Web.SessionState.HttpSessionStateContainer-->Item 它说,“为了评估一个索引属性,该属性必须是合格的,并且参数必须由用户显式提供。所以我也看不到它设置了什么?
标签: .net asp.net session session-state session-variables