Session:

与Cookies相比

相同点:
每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的

以上所有内容,都跟cookies一样

不同点:

1、Session的保存位置是保存在服务器上
2、Session没有持久的,它的保存周期就是20分钟

重点:Session不要滥用,也不要不用,滥用可能会造成服务器内容溢出,不用会造成资源浪费,因为内存中的数据提取及交互是最快的

赋值:Session["key"] = 值;
取值:string a = Session["key"];
清除: Session["key"]=null;

Application:
全局对象
Application["key"] 是所有的用户获取这个key里面的值都是一样的
没有保存周期,它会一直保存着
通常在什么地方使用,版本号

赋值:Application["key"]=值;
取值:Application.Get("key");

 protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += Button1_Click;
} void Button1_Click(object sender, EventArgs e)
{
Session["user"] = TextBox1.Text; //创建一个key值为user的session,并且将文本框1的值赋进去 //Session["zhi1"] = TextBox3.Text;
Application["banben"] = "V1.3";
Response.Redirect("Default2.aspx");
protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Response.Redirect("Default.aspx");
}
else
{
Label1.Text = "你好," + Session["user"]; Label1.Text += Session["zhi1"];
Session["zhi1"] = null;
} Response.Write("当前版本号:" + Application.Get("banben")); }

ViewState:
理解成为病例

如果要使用ViewState,则在ASPX页面中必须要有一个服务器端窗体标记(<form runat = "server">)。窗体字段是必须的,这样包含ViewState信息的隐藏字段才能被传回服务器。而且,该窗体还必须是服务器端的窗体,这样在服务器上执行该页面时,ASP.net页面框架才能添加隐藏字段。

page的EnableViewState 属性值为true

控件的EnableViewState 属性值为 true

viewstate与session的对比

(1) session值是保存在服务器内存上,那么,可以肯定,大量的使用session将导致服务器负担加重. 而viewstate由于只是将数据存入到页面隐藏控件里,不再占用服务器资源,因此, 我们可以将一些需要服务器"记住"的变量和对象保存到viewstate里面. 而sesson则只应该应用在需要跨页面且与每个访问用户相关的变量和对象存储上.

(2) session在默认情况下20分钟就过期,而viewstate则永远不会过期.

但viewstate并不是能存储所有的.net类型数据,它仅仅支持String、Integer、Boolean、Array、ArrayList、Hashtable 以及自定义的一些类型.

任何事物都有两面性, 使用viewstate会增加页面html的输出量,占用更都的带宽,这一点是需要我们慎重考虑的. 另外, 由于所有的viewstate都是存储在一个隐藏域里面,用户可以很容易的通过查看源码来看到这个经过base64编码的值.然后再经过转换就可以获取你存储其中的对象和变量值

------------------------------------------------
内置对象的作用:为了跨页面传值和状态保持

Request:接收请求

Response:响应请求

Cookies:(保存客户端的硬盘上)状态保持 保持7天或者持久

Session:(保存服务端的内存上)状态保持 只能保持20分钟

Application:一般表示版本号

ViewState:记录上一个页面的所有内容

QueryString:

----------------------------------------------------------
Repeater的Command操作:
1、ItemCommand事件 - 在Repeater中所有能触发事件的控件,都会来触发这一个事件

2、CommandName - 判断点击的是什么按钮,e.CommandName

3、CommandArgument - 触发事件所传递过来的主键值数据,放在这里面
界面值绑定时要用 单引号 !!!!!! e.。。。

4、ItemCreated - 项模板中将HTML代码生成完毕时执行一遍此事件
5、ItemDataBound - 项模板将数据绑定后执行一遍此事件

 

WebForm 内置对象2的更多相关文章

  1. WebForm 内置对象

    内置对象: Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); Respo ...

  2. C# WebForm内置对象2+Repeater的Command

    内置对象:用于页面之间的数据交互 为什么要使用这么内置对象?因为HTTP的无状态性. Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及 ...

  3. C#WebForm内置对象

    内置对象: Response对象:响应请求Response.Write("<script>alert('添加成功!')</script>");Respons ...

  4. WebForm 内置对象QueryString、Repeater删改

    一.内置对象QueryString--地址栏数据拼接 格式:?key=value 如:string path = "Default2.aspx?aaa=" + TextBox1.T ...

  5. WebForm 内置对象、数据增删改、状态保持

    一.内置对象 1.Response对象:响应请求 Response.Write("<script>alert('添加成功!')</script>"); → ...

  6. 【2017-05-22】WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  7. WebForm内置对象:Application和ViewState、Repeater的Command用法

    一.内置对象 1.Application 存贮在服务器端,占用服务器内存生命周期:永久 所有人访问的都是这一个对象 传值:传的是object类型可以传对象. string s =TextBox1.Te ...

  8. Webform 内置对象2(Session、Application)、Repeater的Command操作

    内置对象: 1.Session:跟Cookies一样用来存储用户数据,但保存位置不同,保存在服务器内存上 每一台电脑访问服务器,都会是独立的一套session,key值都一样,但是内容都是不一样的 S ...

  9. webform内置对象

    1.Response和Request地址栏数据拼接 QueryString 优点:简单好用:速度快:不消耗服务器内存. 缺点:只能传字符串:保密性差(调转页面后在地址栏显示):长度有限.响应请求对象 ...

随机推荐

  1. Oracle 取随机数

    1.从表中随机取记录 select * from (select * from staff order by dbms_random.random)      where rownum < 4 ...

  2. WSDL项目---处理消息

    有几个视图选择在处理SOAP请求和响应消息. 让我们看看这两个. 请求消息 XML ——标准的底层XML消息的文本视图Validate选项验证当前的消息发现的错误:  (这里行号一直在编辑器中打开) ...

  3. java实例化对象的方式

    一.Java中创建(实例化)对象的五种方式  1.用new语句直接创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); ...

  4. NOSQL场景梳理

    Redis 场景:缓存,Session,消息发布订阅,产品属性分析,订单购买等强事务,计数等   Memcached 场景:读密集,写一般的缓存,Session   MongoDB 场景:数据显示,查 ...

  5. js获取浏览器前缀

    <script> var div = null; var _prefix = (function (temp) { var prefix = ["webkit", &q ...

  6. JavaScript模拟鼠标右键菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Moneybookers API支付方式开发 步骤

    开发文档: 支付说明手册 步骤: 1.使用商家帐号,登录到www.moneybookers.com,核对商家信息是否正确. 2.在账户-->商家工具(设置) a.API/MQI password ...

  8. GIT如何添加权限模块

    http://blog.chinaunix.net/uid-15174104-id-3843570.html

  9. 树莓派+移动硬盘搭建NAS服务器

    由于树莓派的USB接口不足以给移动硬盘供电,因此需要另外给移动硬盘提供电源. 显示当前已有的存储设备 # fdisk -l Disk /dev/mmcblk0: 7876 MB, 7876902912 ...

  10. c#解析xml

    贴代码 xml <?xml version="1.0" encoding="utf-8" ?> <CoInfo Name="Bota ...