客户端的状态保持方案:ViewState、隐藏域、Cookies、控件状态、URL查询参数
服务端的状态保持方案:Session(会话)、Application、Caching(缓存)、DataBase(数据库)

-》ViewState
-》示例:使用服务器label控件,添加按钮,能实现+1吗?
查看源代码,发现生成了span,这是不能提交数据的,这究竟发生了什么?
本质:隐藏域
源代码中多了名为ViewState的hidden客户端控件,对状态进行了存储
-》属性ViewState:是继承于Control类的键值对集合类型的属性
存储的是:服务器端需要,但是又无法提交给服务器的数据
实现了服务器端控件
-》禁用ViewState:
整个页面禁用:ViewStateMode = ViewStateMode.Disabled
单个控件禁用:EnableViewState="False"
禁用后,可以试一试文本框+1,label加1是否还有效?
-》总结:因为生成了隐藏域,并且存储了太多的内容,所以不推荐使用
尽量少或不使用ViewState、服务器控件

 <%@ Page Language="C#" AutoEventWireup="true"
ViewStateMode="Enabled"
CodeBehind="ViewStateTest.aspx.cs" Inherits="t4_State.ViewStateTest" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="0"></asp:Label> </div>
</form>
</body>
</html>
     public partial class ViewStateTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["yg"] = "杨过";
}
} protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = (int.Parse(Label1.Text) + ).ToString();
//Label1.Text = ViewState["yg"].ToString();
}
}

012-ViewState状态保持的更多相关文章

  1. 【转】ASP.NET ViewState详解

    (wyt今天学习了这篇文章,作为门外汉的我了解了很多页面控件数据加载的知识和viewstate的用法和原理.我想在日后的开发效率提升上会有很大的作用.) 转自http://www.cnblogs.co ...

  2. ASP.NET ViewState详解

    ASP.NET ViewState详解[转载] 作者:Infinities Loop 概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对ViewState的一些错误认识.为 ...

  3. (译)如何在ASP.NET中安全使用ViewState

    原文:http://www.codeproject.com/Articles/150688/How-to-make-ViewState-secure-in-ASP-NET 介绍 ASP.NET中的Vi ...

  4. 转:asp.net 中的viewstate

    概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对ViewState的一些错误认识.为了达到这个目的,我决定从头到尾详细的描述一下整个ViewState的工作机制,其中我会 ...

  5. 【转载】viewState详解

    作者:Infinities Loop 概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对 ViewState的一些错误认识.为了达到这个目的,我决定从头到尾详细的描述一下整 ...

  6. viewState详解

    作者:Infinities Loop 概述 ViewState是一个被误解很深的动物了.我希望通过此文章来澄清人们对 ViewState的一些错误认识.为了达到这个目的,我决定从头到尾详细的描述一下整 ...

  7. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q28-Q31)

    Question28You have a Microsoft Office SharePoint Server 2007 site.You upgrade the site to SharePoint ...

  8. Vijos p1770 大内密探 树形DP+计数

    4天终于做出来了,没错我就是这么蒟蒻.教训还是很多的. 建议大家以后编树形DP不要用记忆化搜索,回溯转移状态个人感觉更有条理性. 大神题解传送门 by iwtwiioi 我的题解大家可以看注释&quo ...

  9. 027. asp.net中数据绑定控件之 GridView控件

    GridView控件支持下面的功能: 绑定至数据源控件, 如SqlDataSource 内置排序功能 内置更新和删除功能 内置分页功能 内置行选择功能 可以编程方式访问GridView对象模型以动态设 ...

  10. Cookie操作类、压缩、序列化

    1.cookie类 CartCookie.cs using System; using System.Data; using System.Configuration; using System.We ...

随机推荐

  1. angular项目——小小记事本1

    这次的项目是制作一个记事本,有点类似于手机qq聊天信息. 内容:在一个input当中输入一行数据,之后提交,这个数据便会记录在下面.随着提交的增加,数据会以列表形式排列下来. 列表中,前面有一个组件, ...

  2. 红帽linux忘记root密码的配置

    1.启动linux,不停按上下键,注意鼠标要点击进去才行. 2.按e键. 3.选择kernel/....       再按e键 4.空格+single 按enter键. 5.按B键,进入root权限. ...

  3. php csv操作

    csv的写入数据: $data = array( array('qq号','登录时间','名称'), array('123456','2012-08-21 15:21:10'.chr(1),'我是来测 ...

  4. jq的遍历节点

    1.child()方法 该方法用于取得匹配元素的子元素集合 2.next() 该方法用于取得匹配元素后面紧邻的同辈元素, 3.prev() 该方法用于取得匹配元素前面紧邻的同辈元素 4.sibling ...

  5. 使用nodejs的http模块创建web服务器

    使用nodejs的http模块创建web服务器 laiqun@msn.cn Contents 1. web服务器基础知识 2. Node.js的Web 服务器 3. 代码实现 1. web服务器基础知 ...

  6. emacs redo

    c / c/ cg c/ cg c/ tramp: /sudo::/usr/

  7. 加工生产调度(prod)

    加工生产调度(prod) 题目描述 有n个部件需在A.B机器上加工,每个工件都必须经过先A后B两道工序. 已知:部件i在A.B机器上的加工时间分别为ai,bi. 问:如何安排n个工件的加工顺序,才能使 ...

  8. 设计一个 iOS 控件

    转载自:http://blog.csdn.net/zhangao0086/article/details/45622875 代码的等级:可编译.可运行.可测试.可读.可维护.可复用 前言 一个控件从外 ...

  9. 杀死进程kill和fuser

    1 kill -9 id 2   不行的话使用    fuser -k -SIGHUP /opt/bre/cookiemapping/wsapi/123 fuser有一个特别的用法在于它可以一次杀死那 ...

  10. cinder /etc/lvm/lvm.conf 注意点

    在cinder节点,cinder-volume使用的磁盘(/dev/sdb),需要在/etc/lvm/lvm.conf中配置: devices {...filter = [ "a/sdb/& ...