内置对象
1.request
检索客户端浏览器传递给服务器的信息,如获得Cookies信息、获取URL串中参数值。
Request.QueryString["Name"];
2.response
动态响应客户端的请求,动态生成的响应结果返回给客户端浏览器,如向客户端输出数据、跳转网页等。
Response.Write();
Response.Redirect();
Response.BufferOutput=false;
Response.Clear();
<%Response.Write("<script>javascript:window.open('http://baidu.com')</script>"); %>
Response.Write(" <script>window.location.href='baidu.com' </script>");
3.Server
Server.MachineName;获取服务器计算机名称
Server.HtmlEncode();
Server.HtmlDecode();
Server.URLEncode();
4.viewstate
1)获取服务器控件状态值。
ViewState["Name"] ="Zhange";
2)安全机制,ViewState在源文件中可以查看,ViewState的Value值经过Base64编码
a)哈希加密
<pages enable ViewStateMac="false"> </pages>
b)ViewState加密
<% Page ViewStateEncryptionMode="Always"%>
或 Web.Config中设置
<pages viewStateEncryptionMode="Always"> </pages>
3)保留成员变量
任何保存在一个ASP.NET页面的变量的信息在页面进程结束后会被放弃,要保留则:在Page.PreRender事件发生时把成员变量保存在ViewState中,而在Page.Load事件发生时取回这些变量。
每当页面被创建时Load事件就会发生。
protected void Page_PreRender(object sender,EventArgs e)
{
}
4)存储自定义对象
序列的对象才可以。
5)页面间传递参数
a)跨页面传递信息 PostBackUrl来实现。
Page1 page1= Page.PreviousPage as Page1;//获取上一个页面的对象
Page.PreviousPage.Title.ToString();//前一页的标题
b)使用QueryString
传递
{
Response.Redirect("Page4.aspx?name=张三&sex=女");
}
获取
{
string name=Request.QueryString["name"].ToString();
string sex=Request.QueryString["sex"].ToString();
}
5.cookies
Cookies网站服务器把数据存储到客户端的硬盘或内存中,或从客户端读取数据的一种技术。用户浏览网站时,由Web服务器置于用户硬盘上的一个小的文本文件,可以记录用户的ID、密码、浏览过的网页、停留的时间信息等,当其再次访问该网站时,网站通过读取Cookies来获取相关信息。
通过设定时间来更新删除Cookies。
基于文本的轻量结构,包含简单的键值对。
不要服务器的资源。
6.session
1)为什么用
a)存储数据复杂性要求,不能存在Cookies里
Session["dataSet"] =dateSet;//dataSet 是DataSet的一个实例
dataSet=(DataSet)Session["dataSet"];
b)安全性要求,不允许利用ViewState或Cookies在客户端存储信息
2)客户端存储-客户端只要存储相应网站的SessionID,其他信息保存在服务器端
a)用Cookies存储SessionID,设置Web.Config文件
< sessionState
mode =
...
cookiesless="false"//false为不存储,true为存储
/>
b)Url存储,则在地址栏里面可以看见
3)服务器存储-存储实际的Session信息
a)进程里
b)进程外,用服务
c) 存储在SQL Server中
7.application
1)建立在内存中
2)这个状态变量可以被网站的所有页面访问,内部数据共享
3)含事件
eg.
Application["app1"]="zhang";
Application["app2"] ="chen";
Application.GetKey(1);//app2
Application.Get(1);//chen
Application.Clear();//清除所有变量