博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebForm 内置对象2
阅读量:7045 次
发布时间:2019-06-28

本文共 2364 字,大约阅读时间需要 7 分钟。

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 - 项模板将数据绑定后执行一遍此事件

转载于:https://www.cnblogs.com/shi2172843/p/5907148.html

你可能感兴趣的文章
读取通讯录联系人
查看>>
ssh三大框架简单整合,struts2整合JasperReport报表、图表,解决HTML显示图片不出来,PDF中文不显示的问题...
查看>>
XML基础知识
查看>>
telnet: Unable to connect to remote host: No route to host处理过程
查看>>
我的友情链接
查看>>
单元测试Struts2的Action(包含源码)
查看>>
简要总结最近遇到的5个问题
查看>>
我的友情链接
查看>>
高校专业机房使用VMware Player解决方案
查看>>
我的友情链接
查看>>
Centos Development Tools 安装
查看>>
1.1.2 C++发展历程
查看>>
我的友情链接
查看>>
awk笔记
查看>>
apache使用.htaccess进行基于文件扩展名的访问控制
查看>>
Hystrix降级技术解析-Fallback
查看>>
Windows XP 禁用防火墙、系统升级、系统还原指南
查看>>
让你的电脑变成wifi
查看>>
xshell 隧道透传
查看>>
zabbix-server添加zabbix-proxy
查看>>