不可或缺的ASP.NET内置对象小结 |
|||||||||||||||||||||||||||||
本文标签:ASP.NET,内置对象 为什么学习ASP.NET内置对象 在ASP.NET中微软提供了多种内置对象提供开发人员使用,在实际开发中内置对象的使用不可或缺的,在Web网站的数据交互,网页服务器交互,网页跳转,服务器数据的传输等其着举足轻重的作用 。在初学ASP.NET技术中也是非常重要的环节,也是更深学习ASP.NET的“里程碑” 。本文章主要介绍ASP.NET的内置对象的使用、属性、方法和工作原理 。ASP.NET的内置对象主要包括:Response、Response、Session、Cookie、Application、Server 一、Request对象 Request对象用来获取客户端在请求一个页面或传送一个Form是提供的所有信息 。它包括用户的HTTP变量、能够识别的浏览器、存储客户端的Cookie信息和请求地址等 。 1.属性 (1) QueryString :获取HTTP查询字符串变量集合,主要用于收集HTTP协议中Get请求发送的数据 2.方法 (1) BinaryRead():执行对当前输入流进行制定字节数的二进制读取 二、Response对象 Response对象是HttpRespone类的一个实例 。该类主要是封装来自ASP.NET操作的HTTP相应信息 。Response对象将数据作为请求的结果从服务器发送到客户浏览器中,并提供有关响应的消息 。它可用来在页面中输出数据,在页面中跳转,还可以传递各个页面的参数 。 1.方法 (1)Redirect:将网页重新转到另一地址 2.属性 (1)ContentType:输出流的内容类型比如html(text/html) 、普通文本(text/pain)还是JPEG图片(image/JPEG) 。 三、Page对象 每个aspx文件对应的一个page对象,.aspx页面与后台.cs代码类(局部类)合并生成页面类,Page对象是页面类的实例 。所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类 <%@ Page Language="C#" ---指明后台使用C#语言 AutoEventWireup="true" ---设置是否自动调用网页Load事件,默认是true CodeBehind="WebDemo1.aspx.cs"---其.aspx文件上绑定的后台代码文件 Inherits="ASP.NETDemo.Demo1.WebDemo1" ---后台代码类 %> 1.属性 (1) IsPostBack:该属性可以检查.aspx页是否为传递回服务器的页面,常用于判断页面是否为首次加载 。 2.事件 Page类常用的事件及执行的先后顺序: 四、ViewState对象 视图状态,在 ASP .NET 中,当一个表单被提交时,表单会连同表单值一起出现在浏览器窗口中 。如何做到的呢?这是因为 ASP .NET 维持了您的 ViewState 。 ViewState 会在页面被提交到服务器时表明它的状态 。这个状态是通过在带有 < form runat=“server”> 控件的每个页面上放置一个隐藏域定义的 。 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack)//如果是第一次访问 { //先将Count的值设为0,并且保存在ViewState中 ViewState["count"] = 0; } } protected void btnAdd_Click(object sender, EventArgs e) { //每次点击按钮先取出ViewState中的值并且累加之后再次赋给ViewState ViewState["count"] = Convert.ToInt32(ViewState["count"]) + 1; Literal1.Text = ViewState["count"].ToString(); } } 使用ViewState实现页面信息的保存 保存数据 ViewState对象存储数据[键值对]Key=Value 取出数据 根据Key值取出Value值 总结 (1) ViewState中保存的数据全部被转换成object类型,取出时务必强制转换成特定类型 ViewState的本质 ViewState的本质是一个隐藏域,和原始的.aspx文件中的多出来的标签一样,都是一个隐藏域,第一次创建ViewState对象其实是创建了一个隐藏域 五、Session对象 使用方式和ViewState相似 1.Session的原理 Session是服务器将客户端的数据代替客户端做出对应的保存,问题是不同用户在选择商品时,Session是如何区分不同用户的选择? Web服务器是如何判断用户是第一次请求并为其生成SessionID? 2.属性 (1) SessionID:包含唯一的用户会话标识符 3.方法 (1) Add(string name,object value):添加“键-值”对 4.用途 (1)不用页面之间需要传递较为复杂的数据(对象) 六、Cookie对象 Cookie对象一般用于在客户端保存一些针对某个用户的信息 。 1.Cookie的特点 (1) 存储少量不重要的数据 2.Cookie的创建 Response.Cookies["User"].Value = TextBox1.Text; HttpCookie cookie = new HttpCookie("User",TextBox1.Text); Response.Cookies.Add(cookie); 注意:创建Cookie使用Response对象,读取Cookie使用Request对象 string str=Request.Cookies["User"].Value; 3.属性 Response.Cookie.Keys:获取Cookie变量名或者根据其索引获取变量值 4.方法 Response.Cookies.Set:用于更新Cookie的变量值 5.Cookies工作原理图 七、Application对象 1.作用 应用程序级别的数据保存(类似于在CS开发中在Winform或WPF中声明的全局变量,这个变量一般在程序开启的时候创建好了,在程序使用过程中一直存在,但是会跟着不同的程序功能存储的数据可能会发生变化) 2.特征 (1)位置:服务器内存,执行速度快 3.使用场合 例如统计这个站点的访问量,或者监控当前站点的访问人数 4.Global.asax文件 全局应用程序类:Global.asax,可以理解为Application对象主要在这个全局应用程序类中使用
|
存储位置 | 有效时间 | 信息共享范围 |
---|---|---|
Request/Response | 请求和响应的过程中 | 请求结束之前 |
ViewState | 被请求的页面中 | 页面关闭之前 |
Session | Web服务器端 | 规定的时间内 |
Cookie | 客户端硬盘中 | 规定的时间内 |
Application | Web服务器端 | IIS重启之前 |
在VS上按F1
键,进入微软官方帮助文档,可查看其它更多内置对象
到此这篇关于不可或缺的ASP.NET内置对象小结的文章就介绍到这了,更多相关ASP.NET 内置对象内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!