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。

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

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

    Response对象 主要运用于数据从服务器发送到浏览器,可以输出数据.页面跳转.各个网页之间传参数等操作. 以下讲解几个常用例子: 在页面中输出数据 主要通过Write .WriteFile方法输出 ...

  2. 初识 Asp.Net内置对象之Response对象

    Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...

  3. Asp.net内置对象用途说明

    Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...

  4. ASP.NET内置对象详解

    ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...

  5. ASP.NET内置对象一

    ASP.NET提供了大量的对象类库,在这些类库中包含了许多封装好的内置对象,我们只需要直接使用这些对象的方法和属性,就能简单快速地完成很多的功能.Request对象.Response对象和Serve对 ...

  6. asp.net内置对象session和cookie

    1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况 ...

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

    ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request  --- 获取请求对象 获取通过地址栏传值过来的对象 ...

  8. 实验四 使用ASP.NET内置对象 总结

    这次实验内容是ASP.NET的一些内置对象的熟悉,感觉看到了上学期JSP的影子,很多地方都很像.像Response对象,Request对象,Context对象等等.以前我老是搞混Response对象和 ...

  9. 【ASP.NET 基础】ASP.NET内置对象

    准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...

随机推荐

  1. 走近源码:Redis如何清除过期key

    "叮--",美好的周六就这么被一阵钉钉消息吵醒了. 业务组的同学告诉我说很多用户的帐号今天被强制下线.我们的帐号系统正常的逻辑是用户登录一次后,token的有效期可以维持一天的时间 ...

  2. xp镜像+激活码

    由于一个环境必须要xp环境,安装虚拟机的,没有在msdn下,因为速度慢. Windows XP SP3:http://b.downya.com/600/winxpsp3_downcc.com.iso ...

  3. localStorage中一个数组嵌套一个数组的怪相

    localStorage中一个数组嵌套一个数组的怪相 需求:向本地存储中循环添加对象 思路 : ​ 先完成点击事件中添加本地存储功能,当刷新时使用一个数组记录已经存储下来的数据,并在点击事件中将新生成 ...

  4. CentOS76 安装k8s1.18的简单步骤

    1. 前提条件就不再详细描写了: 关闭防火墙 升级内核到至少4. 关闭swap 关闭selinux 等 2. 本次安装采用酸酸乳和privoxy的方式进行, 不过发现部分rpm 包还是特别慢,没办法用 ...

  5. sql 模块 pymysql 数据库操作

    1. 添加一个部门. import pymysql def main(): no = int(input('编号: ')) name = input('名字: ') loc = input('所在地: ...

  6. qt creator源码全方面分析(3-6)

    目录 qtcreatorplugin.pri 使用实例 上半部 下半部 结果 qtcreatorplugin.pri 上一节我们介绍了qtcreatorlibrary.pri,现在我们介绍qtcrea ...

  7. 大数据篇:Hive

    大数据篇:Hive hive.apache.org Hive是什么? Hive是Facebook开源的用于解决海量结构化日志的数据统计,是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射 ...

  8. GitHub 热点速览 Vol.14:周获 2k+ Vim 掀起三维编程风

    作者:HelloGitHub-小鱼干 摘要(用于 公众号/博客园等地方)寓教于乐,应该是上周 Trending 的主题了,无论是被多人转发推荐的三维 Vim 项目 Vim³ 或者是流体运动的 WebG ...

  9. 12.1 flask基础之简单实用

    一.Flask介绍(轻量级的框架,非常快速的就能把程序搭建起来) Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是 ...

  10. NKOJ4241 蚯蚓 (【NOIP2016 DAY2】)

    问题描述 输入格式 第一行包含六个整数n,m,q,u,v,t,其中:n,m,q的意义见问题描述: u,v,t均为正整数:你需要自己计算p=u/v(保证0<u<v)t是输出参数,其含义将会在 ...