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. Page-encoding specified in XML prolog (UTF-8) is different from that specified in page directive (utf-8)

    org.apache.jasper.JasperException:xxx.jsp(1,1) Page-encoding specified in XML prolog (UTF-8) is diff ...

  2. R实现灰色预测

    1.简介 预测就是借助于对过去的探讨去推测.了解未来.灰色预测通过原始数据的处理和灰色模型的建立,发现.掌握系统发展规律,对系统的未来状态做出科学的定量预测.对于一个具体的问题,究竟选择什么样的预测模 ...

  3. CodeForces460B. Little Dima and Equation

    B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes input s ...

  4. 【Ajax 基础学习】

    http://www.cnblogs.com/guduoduo/p/3681296.html 今天简单的学习了 Ajax 的基础知识,总结在这里.部分代码不是原创,特此说明. [Ajax 简介] AJ ...

  5. H.264的优势和主要特点

    H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压 ...

  6. php调试局部错误强制输出 display_errors

    error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('error_log', dirname(__FILE__) . '/e ...

  7. Oracle ORA-01722: 无效数字 处理方法

    C# + Oralce 10G 项目中 有用参数处理Update语句.参数命名和表字段同名.执行报错: ORA-01722: 无效数字 后修改所有的参数和对应字段不同.解决. 修改前: StringB ...

  8. 2016总结 wjwdive

    2016 成长:收获最大的,学会了耐心,学会了宽容,学会了不强求.一念放下,万般自在.我真的是晚熟啊 ^_^! . 读书:<小王子>.<了不起的盖茨比>.<和任何人都聊得 ...

  9. 微软的HLSL Shader Model 6.0 compiler要转向LLVM了,开源的节奏. Apple/Khronos都有各自计划

    So, Microsoft is making an opensource HLSL-to-almost-LLVM compiler, and Khronos is making an opensou ...

  10. DataBinding examples

    Databinding in Windows Forms demo (CSWinFormDataBinding) /************************************* Modu ...