ASP.Net内置对象之网页之间传参(二)

Session对象

运用于多个界面调用某一个特定的用户信息,也就是每个Session 对象是独立的,个不受影响。

Session对象的读取和存储

Session[name]=”chen”;

可以用来界面之间参数传递

webForm1.aspx:

Session["name"]="chen";

Response.Redirect("~/webForm2.aspx");

webForm2.aspx:

Response.Write("welcome" + Session["name"].ToString());

Cookie对象

主要运用于保存用户请求的客户端浏览器界面以及用户的一些私密性信息,还可以设置保存的时间等。

保存和读取客户端的内容信息

保存:

Response.Cookies[“name”].Value=”chen”;

读取:

string myname=Request.Cookies[“name”].Value;

一般运用于投票,防止一个人多次投票。

设定Cookie的生命周期

Response.Cookies[“name”].Expires=日期;

TimeSpan ts=new TimeSpan(0,0,20,0);

Response.Cookies[“name”].Expires=DateTime.Now.Add(ts);//20分钟后过期

Response.Cookies[“name”].Expires=DateTime.Now.AddMonth(1);//1个月后过期

Response.Cookies[“name”].Expires=DateTime.Parse(“10/20/2016”);//指定日期后过期

Response.Cookies[“name”].Expires=DateTime.MaxValue;//永不过期

Response.Cookies[“name”].Expires=DateTime.MinValue;//关闭浏览器后过期

例:

判断在一分钟之前,chen是否进入该网站,当未进入,显示“1分钟前chen未进入了该网站”将chen写入Cookie,否则显示“1分钟前chen进入了该网站”。

TimeSpan ts=new TimeSpan(0,0,1,0);

Response.Cookies["name"].Expires=DateTime.Now.Add(ts);//1分钟后过期

string myname=Request.Cookies["name"].Value;

if (myname == "chen")

{  Response.Write("1分钟前chen进入了该网站");}

else { Response.Write("1分钟前chen未进入了该网站");

Response.Cookies["name"].Value="chen";

}}

同样可以实现一个人投票功能。

Server对象

它定义了一个与web服务器相关的类,可以访问服务器的上的方法和属性,主要用于访问服务器上的资源信息。

重定向页面

Server.Execute 和 Server.Transfer 方法

两者之间差别:前者方法是将转移后的页面显示在当前页面,控制权在仍为当前页面;

后者方法是直接显示转移后的界面,控制权为转移后的界面。

WebForm1.aspx:

前台:

<div>

WebForm1.aspx

<asp:Button ID="Button1" runat="server" Text="Excute" onclick="Button1_Click" />

<asp:Button ID="Button2" runat="server" Text="Transfer"

onclick="Button2_Click" />

</div>

后台:

protected void Button1_Click(object sender, EventArgs e)

{  Server.Execute("WebForm2.aspx?message=Excute"); }

protected void Button2_Click(object sender, EventArgs e)

{   Server.Transfer("WebForm2.aspx?message=Tranfer"); }

运行结果

//执行事件前界面

//执行Server.Excute方法界面

//执行Server.Transfer方法界面

获取服务器物理地址

运用Server.MapPath方法获取

Server.MapPath(“WebForm1.aspx”);//获取WebForm1.aspx物理文件路径

Server.MapPath(“.”);//获取当前目录所在服务器的物理文件路径

对字符串进行编码和解码

使用UrlEncode和URLDecode方法对通过URL传递服务器的数据进行编码和解码

Server.UrlEncode("http://WebForm2.aspx");

//将http://WebForm2.aspx 编码为 http%3a%2f%2fWebForm2.aspx

Server.UrlDecode("http%3a%2f%2fWebForm2.aspx");

//将http%3a%2f%2fWebForm2.aspx 解码为 http://WebForm2.aspx

注意:有时候 Response.Redirect 传参数时会导致数据丢失几个字节,我们可以先将要传递的数据进行编码,传到另一个网页后,进行解码。

WebForm1:aspx:

string name=Server.UrlEncode("chen");

Response.Redirect("~/WebForm2.aspx?Name="+name)

WebForm2.aspx:

string myname=Server.UrlDecode(Request.QueryString[Name]);

另:Response.Redirect方法 与 Server.Transfer方法 区别

1、Response.Redirect可以切换到任何存在的网页。

2、Server.Transfer只能切换到同目录或者子目录的网页。

a、Response.Redirect后地址会变成跳转后的页面地址。

b、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。

I、Response.Redirect能够传递的数据以2KB为限。

II、传递的数据超过2KB时,务必使用Server.Transfer。

时间: 2024-10-20 13:28:41

ASP.Net内置对象之网页之间传参(二)的相关文章

ASP.Net内置对象之网页之间传参(一)

Response对象 主要运用于数据从服务器发送到浏览器,可以输出数据.页面跳转.各个网页之间传参数等操作. 以下讲解几个常用例子: 在页面中输出数据 主要通过Write .WriteFile方法输出数据. Response.Write("hello");//在网页上显示hello Response.WriteFile(@"F:\\hello.txt");//在网页上打开hello.txt并显示 Response.Write("<script>

asp.net内置对象session和cookie

1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况下,session对象即被销毁,不要放太多/太大的对象在session. 4.Web应用程序在传统意义上无状态,需要使用内置对象进行客户端状态的保存. 5.session对象和Application对象存储在服务端,cookie对象存储在客户端. 6.session对象适用于安全性相比之下较高的场合

asp.net内置对象

转:http://www.cnblogs.com/MyBeN/archive/2011/03/23/1992591.html (1)简述ASP.NET内置对象. 答:ASP.NET提供了内置对象有Page.Request.Response.Application.Session.Server.Mail和Cookies.这些对象使用户更容易收集通过浏览器请求发送的信息.响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面信息的传递. (2)简述Response对象. 答:Response对象

asp.net 内置对象Request和Response

Request 1.Request.AppRelativeCurrentExecutionFilePath,获取当前执行请求相对于应用根目录的虚拟路径,以~开头,比如"~Handler.ashx". 2.Request.PhysicalApplicationPath,获取当前应用的物理路径,比如D:\我的文档\VisualStudio 2012\WebSites\WebSite\ 3.Request.PhysicalPath,获取当前请求的物理路径.比如D:\我的文档\VisualSt

asp.net内置对象Server

1.Server是Context的一个属性,是HttpServerUtility类的一个对象. 2.Server.HtmlDecode(),Server.HtmlEncode(),Server.UrlEncode(),Server.UrlDecode()是对HttpUtility类中相应方法的一个代理调用.有的时候很难拿到Server对象,使用HttpUtility. 3.Server.Transfer(path)内部重定向请求,Server.Transfer("hellow.aspx"

重温ASP.NET内置对象之Request

Active ServerPages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息.响应浏览器以及存储用户信息.ASP.NET 包含一系列类,用于封装这些上下文信息. ASP.NET主要包含六大类: 1.      Response提供对当前页的输出流的访问. 2.      Request提供对当前页请求的访问,其中包括请求标题.Cookie.客户端证书.查询字符串等. 3.      Server对象的属性反映了Web服务器的各种信息,它提供了服务器可以提供的各种服务. 4

2017-5-22 ASP六大 内置对象

ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request  --- 获取请求对象 获取通过地址栏传值过来的对象 string aaa = Request["key"];  key必须和传值的对象名称相同 2.Response  ---  响应请求对象 Response.Redirect("新打开的网址?aa=key");/ Response.Redirect("新打开

ASP.NET内置对象(详细)

今天跑到图书馆看书,很多东西忘了,以至有时候求职面试时说不出来,便有空来看看书 以下是从<C#与ASP.NET程序设计教程> 王振武 著 一书上看到的,写的挺详细的,有时候会用到,便搬到这边来,共分享,学习:我只是知识的搬运工而已,哇咔咔! 内置对象名称 功能说明 Page 对ASP.NET页面的内容进行处理 Requset 获取客户端及服务端的相关信息 Response 将HTTP相关数据及其有关信息发送到客户端 Server 提供一系列与WEB相关的程序 Session 在服务器的内存中储

ASP.NET 内置对象

内置对象:1.Response - 响应请求对象 Response.Redirect("Default2.aspx"); //页面重定向到Default2.aspx Response.Write("<script>window.open('Default2.aspx');</script>");//在页面中写入一句话并显示在页面上,这里写入了一个js方法,里面写入了一句打开新页面的语句,同样执行打开新页面,也就是Response.Write,