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。
ASP.Net内置对象之网页之间传参(二)的更多相关文章
- ASP.Net内置对象之网页之间传参(一)
Response对象 主要运用于数据从服务器发送到浏览器,可以输出数据.页面跳转.各个网页之间传参数等操作. 以下讲解几个常用例子: 在页面中输出数据 主要通过Write .WriteFile方法输出 ...
- 初识 Asp.Net内置对象之Response对象
Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...
- Asp.net内置对象用途说明
Asp.net 内置对象 1.Session当客户第一次请求网页,session创建.当客户最后一次请求页面,一段时间后,session销毁.默认30分钟. 一般存用户信息,即登陆成功后,在sessi ...
- ASP.NET内置对象详解
ASP.NET的内置对象介绍 1.Response 2.Request 3.Server 4.Application 5.Session 6.Cookie Request对象主要是让服务器取得客户端浏 ...
- ASP.NET内置对象一
ASP.NET提供了大量的对象类库,在这些类库中包含了许多封装好的内置对象,我们只需要直接使用这些对象的方法和属性,就能简单快速地完成很多的功能.Request对象.Response对象和Serve对 ...
- asp.net内置对象session和cookie
1.各个机器的session对象不同,不同浏览器之间不通用(换个浏览器,是个新的session). 2.session状态对象起始于网页打开,终止于网页关闭,生命周期有限. 3.关闭浏览器/超时的情况 ...
- 2017-5-22 ASP六大 内置对象
ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request --- 获取请求对象 获取通过地址栏传值过来的对象 ...
- 实验四 使用ASP.NET内置对象 总结
这次实验内容是ASP.NET的一些内置对象的熟悉,感觉看到了上学期JSP的影子,很多地方都很像.像Response对象,Request对象,Context对象等等.以前我老是搞混Response对象和 ...
- 【ASP.NET 基础】ASP.NET内置对象
准确地说,asp.net 并没有内置对象这一说,jsp 里确实把 request.response 这些当作 jsp 的内置对象,这里只不过是借用了一下 jsp 的说法而已.在 Web 中处于中心的是 ...
随机推荐
- 一文看懂NLP神经网络发展历史中最重要的8个里程碑!
导读:这篇文章中作者尝试将 15 年的自然语言处理技术发展史浓缩为 8 个高度相关的里程碑事件,不过它有些偏向于选择与当前比较流行的神经网络技术相关的方向.我们需要关注的是,本文中介绍的许多神经网络模 ...
- Python第七章-面向对象高级
面向对象高级 一. 特性 特性是指的property. property这个词的翻译一直都有问题, 很多人把它翻译为属性, 其实是不恰当和不准确的. 在这里翻译成特性是为了和属性区别开来. 属性是指的 ...
- vscode vue 格式化 ESLint 检查 单引号 双引号 函数括号报错问题
vscode vue 格式化 最近重新搞了下电脑,重装了 vscode 软件,在用 vue 写项目的时候,照例开启了 ESLint 语法检查,但是发现在使用 vscode 格式化快捷键的时候(shif ...
- algorithm++:一个整数称为是:【幸运数】,如果这个整数的各位数字的平方和为1或者反复计算各位数字的平方和为1 例如 19 是个幸运数
1):一个整数称为是:[幸运数],如果这个整数的各位数字的平方和为1或者反复计算各位数字的平方和为1 例如 19 是个幸运数 coding:java程序实现 import org.junit.Test ...
- iOS mmap
一.常规文件操作 常规文件操作(read/write)有那几个重要步骤: 进程发起读文件请求 内核通过查找进程文件符表,定位到内核已打开文件集上的文件信息,从而找到此文件的 inode inode 在 ...
- WebView的基本使用及相关特性
WebView 是一个显示网页内容的组件,可以显示网络上的一些在线内容并且可以作为 Web 浏览器滚动显示的内容,它使用 WebKit作为渲染引擎来显示网页,里面包括放大.缩小.执行文本搜索等进行前后 ...
- C 苟富贵
时间限制 : 15000 MS 空间限制 : 524288 KB 问题描述 你最近买六合彩赚了很多钱,导致一个银行账户存不下了,于是你开设了 N 个账户,第 i 个账户里存有 Ai 元. 你的好友 ...
- Java 配 Shell 等于美酒加咖啡
化学中我们得知「氢气加氧气在点燃的情况下会生成水」. 生活中我们得知「良辰加美景的情况下会得到千金春宵一刻」. 技术上又何尝不是如此呢?先假设一个场景:BOSS 让你实现一个服务监控的指挥室,能看到每 ...
- C# 快速开发框架搭建—开发工具介绍
C# 快速开发框架搭建—开发工具介绍 一.VS2013,SQL SERVER R22008 以上两种工具如有不会者自行百度学习下. 二.动软代码生成器 对于经典的三层架构框架来说,使用动软代码生成器会 ...
- CentOS虚拟机开机显示多内核版本
在CentOS进行系统更新后,会保留旧版本的内核.所以,在每次启动时,会有多个内核选项,可以手动删除不用的旧版本内核. 1.查看当前系统内核版本 #uname -a 2.查看系统中存在的全部内 ...