ASP.NET Lab

The Best Web, The Best Future

博客园 首页 新随笔 订阅 管理

该范例通过访问 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# 中,你应该始终在读取会话的值的时候把它们转换成适当的类型。

posted on 2007-01-20 11:32  Laeb  阅读(266)  评论(0编辑  收藏  举报