Asp.net内置对象
Asp.net内置对象总结:
1> Session:用于在服务器断保存用户的会话状态,它的运行机制就是当第一次访问的时候到服务器中判断是否存在,也就是sessionID,如果不存在,就创建一个,然后带着sessionID返回客户端,第二次访问的时候就可以根据sessionID或得相关Session的值,会话周期在浏览器打开到关闭!
Session赋值和获得Session的值:
Session[“session名称”]=Value
变量=Session[“session名称”]
Session.Timeout=20
表示在20分钟内如果用户不进行任何操作,session将过期
Session.Clear();清除当前浏览器进程所有session
Session.Abandon();取消当前会话
Session.Remove("session名称");删除Session集合中某个元素
Session["session名称"]=null; //设置Session集合中的某个元素为空
2> Cookie:用于在客户端保存用户状态。在客户端与服务器之间传值,缺陷就是不太安全,一些敏感的问题最好不要存在Cookie中!而且大部分浏览器只能保存4KB左右,也可以禁用Cookie,Expires用来指定Cookie的有效期,如果不设置的话,就默认为浏览器打开到关闭的时间,设置MaxValue表示永远不过期!
下面来看看Cookie的两种用法:
1>
为Cookie赋值
Response.Cookies["cookie名字"].Value = "admin";
为Cookie设置有效期
Response.Cookies["cookie名字"].Expires = DateTime.Now.AddHours(20);
获得Cookie的值
Request.Cookies["cookie名字"].Value
清除Cookie
Response.Cookies.Clear;
Response.Cookies["Cookie名字"].Expires = DateTime.Now.AddDays(-1);
Response.Cookies("Cookie名字").Expires = 0;
2>通用方法
public void PageCookie(string doim, string key, string value)
{
if (Request.Cookies[doim] == null)
{
HttpCookie httpCookie = new HttpCookie(doim);
httpCookie.Values[key] = value;
httpCookie.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(httpCookie);
}
else
{
HttpCookie httpCookie = Request.Cookies[doim];
httpCookie.Values[key] = value;
httpCookie.Expires = DateTime.Now.AddMinutes(20);
Response.Cookies.Add(httpCookie);
}
}
获得值
Request.Cookies["user"].Values["username"]
Request.Cookies["user"]["username"]
清除值
定义一个和原来一样名字的cookie,然后把有效期设置小点就可以了
Httpcookie cookie=request.cookies[“cookiename”]
Cookie.expires=DateTime.Now.addDay(-1);
Response.cookies.add(cookie);
判断cookie是否为空
if (Request.Cookies["username"]!= null)
{
this.Label1.Text = Request.Cookies["username"].Value;
}
3>Application:用户共享所有用户的信息,有限期在服务器打开与关闭的时间段里,用法和session差不多
Application赋值和获得Application的值:
Application [“Application名称”]=Value
变量= Application [“Application名称”]
4>Server: 提供了服务器断的一些属性和方法,比如页面的路径和转码等,在这里介绍一下常用的几个方法
Server.MapPath(string 文件名):获得该文件在服务器的目录
或者 HostingEnvironment.MapPath("~/files/" + DirID);
HtmlEncode:用于在页面中显示你要显示的html标签,比如</br>
HtmlDecode:与HtmlEncode相反,表示对其解码
UrlEncode:解决在url传值的过程中出现的乱码问题
5>Request:主要是获得客户端的一些请求数据。
Request. QueryString:获得url或get方式传过来的值
Request. Form:用于获得post传过来的值,可以达到2M,而get也就是256B
Request.Params:get和post都可以通过它来获得值,但是效率低,不建议使用
Request.ServerVariables:用于获得客户端和服务器的一些系统信息;
6>Response:响应客户端
Request.write():打印
Response.Redirect(“);重定向
Asp.net内置对象大概就这么多了,灵活使用才是最重要的