每次将网页发送到服务器时,都会创建网页类的一个新实例。在传统的 Web 编程中,这通常意味着在每一次往返行程中,与该页及该页上的控件相关联的所有信息都会丢失。例如,如果用户将信息输入到文本框,该信息将在从浏览器或客户端设备到服务器的往返行程中丢失。
为了解决传统的 Web 编程的固有限制,ASP.NET 包括了几个选项,可帮助您按页保留数据和在整个应用程序范围内保留数据。这些功能如下所示:
-
视图状态
-
控件状态
-
隐藏域
-
Cookie
-
查询字符串
-
应用程序状态
-
会话状态
-
配置文件属性
视图状态、控件状态、隐藏域、Cookie 和查询字符串均会涉及以不同方式将数据存储到客户端上。而应用程序状态、会话状态和配置文件属性都将数据存储到服务器上的内存中。每个选项都有不同的优点和缺点,具体取决于相应的方案。