ASP.NET中的ViewState
曾经在两次面试中都遇到了这个问题,就是ViewState中存储的变量到底存储在哪里。由于基础比较差,以前在学习的时候,就没有注意
到这里的细节,包括Session中存储的变量,所以我想ViewState存储变量必定大有学问。到网上一查,果然,贴出一篇大牛文章:
http://www.cnblogs.com/yzxchoice/archive/2006/09/08/498499.html
根据自己的感受,做一点总结:
1.ViewState中的值存储在隐藏的ViewState控件里,我想这是最关键的一句话了。
2.至于ViewState控件是如何来的,应该是表单标明runat=server,ASP.NET在输出页面时就会自动添加上一个隐藏域:

3.如果在后台直接给ViewState集合赋值,那么ViewState的用法就和Session一样了。
4.对于ViewState的安全性问题,ASP.NET提供的两种方式:防篡改;加密。具体见上面的链接。
5.Session中的值保存在服务器的内存上。
ASP.NET中的ViewState的更多相关文章
- Asp.net中的ViewState用法
Session,ViewState用法基本理论:session值是保存在服务器内存上,那么,可以肯定,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面隐藏控 ...
- 转:asp.net 中的viewstate
概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对ViewState的一些错误认识.为了达到这个目的,我决定从头到尾详细的描述一下整个ViewState的工作机制,其中我会 ...
- (译)如何在ASP.NET中安全使用ViewState
原文:http://www.codeproject.com/Articles/150688/How-to-make-ViewState-secure-in-ASP-NET 介绍 ASP.NET中的Vi ...
- Asp.net中static变量和viewstate的使用方法(谨慎)
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- Asp.net 中ViewState,cookie,session,application,cache的比较
Asp.net 中的状态管理维护包含ViewState,cookie,session,application,cache五种方式,以下是它们的一些比较: 1.存在于客户端还是服务端 客户端: view ...
- ASP.NET中常用的优化性能的方法
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...
- asp.net中缓存的使用介绍一
asp.net中缓存的使用介绍一 介绍: 在我解释cache管理机制时,首先让我阐明下一个观念:IE下面的数据管理.每个人都会用不同的方法去解决如何在IE在管理数据.有的会提到用状态管理,有的提到的c ...
- ASP.NET中的Session怎么正确使用
Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息.用户在应用程序的页面切换时,Session对象的变量不会被清除. 对于一个Web应用 ...
- asp.net中的窗口弹出实现,包括分支窗口 . ASP.NET返回上一页面实现方法总结 .
返回上一页的这个东东在我们做项目的时候一般是用于填写完表单后确认的时候,有对原来输入的数据进行修改或者更新时用的,或者是因为网站为了方便浏览者而有心添加的一个东东,一般这种功能的实现在ASP.NET中 ...
随机推荐
- 在MVC中要实现Ajax
在MVC中要实现Ajax有很多的方式,有微软自己的MicrosoftAjax,也可以用JQuery的AJax来实现,如果对其他的JavaScript框架熟悉,还可以采用其他的实现方案,比如说Proto ...
- 【Shell脚本学习10】Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最 ...
- CentOS 7.0启用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- CSS图片翻转例子
dfdfdfdfdf <!DOCTYPE html> <html> <head> <meta charset=" ...
- 【CSS3】---结构性伪类选择器-root+not+empty+target
结构性伪类选择器—root :root选择器,从字面上我们就可以很清楚的理解是根选择器,他的意思就是匹配元素E所在文档的根元素.在HTML文档中,根元素始终是<html>. 示例演示: 通 ...
- django 学习-16 Django会话Cookie
1.django.admin.py startproject cs3 cd cs3 django.admin.py startapp blog 2. vim urls.py url ...
- Linux常用命令英文全称与中文解释Linux系统
Linux常用命令英文全称与中文解释Linux系统(转) Linux常用命令英文全称与中文解释Linux系统 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Pri ...
- Android微信支付SDK开发笔记
一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki ...
- Javascript之拖拽库
在手机上运行触屏拖动时,我发现页面并没有反应,服务器端执行javascript在手机端与电脑端不能“相同式”实现(电脑端运行正常,而手机端不一样),这是为甚么呢? 首先,我们都知道javascript ...
- Android之开源项目工具库篇
本文转自:http://www.trinea.cn/android/android-open-source-projects-dev-lib/ 本文中你可以找到那些精美App中各种有特性的View,如 ...