该范例通过访问 Item
属性来获取会话状态中的值。
范例
string firstName = (string)(Session["First"]); string lastName = (string)(Session["Last"]); string city = (string)(Session["City"]);
编译代码
该实例需要:
-
一个能够在已经启用会话状态的 ASP.NET 应用程序中使用
Current
属性来访问当前请求的环境的 Web 窗体页面或类。
健壮编程
如果你尝试获取从会话状态中向外获取一个并不存在的值,那么并不会抛出任何异常。要确保你想要获取的值已经存在于会话状态中,就需要先通过如下所示的一个测试来对现有的对象进行检查:
if (Session["City"] == null) // 会话状态中没有这样的值:采取适当的动作。
如果你尝试通过一些其他的方式(例如,来检查它的类型)来使用一个并不存在的会话状态项,那么将会抛出一个 NullReferenceException
异常。
会话的值是 Object
类型。在 Visual Basic 中,如果你设置了 Option Strict On
,那么在从会话状态中向外获取值的时候,你必须把 Object
转换到适当的类型,如下范例所示。在 C# 中,你应该始终在读取会话的值的时候把它们转换成适当的类型。