HttpRequest 类

关于此类的介绍:查看HttpRequest类

 点击查看:HttpRequest中方法的封装

跟这个类对应的HttpResponse类

定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 HTTP 值。

public sealed class HttpRequest

注:本篇主要介绍可以根据这个类获取什么信息,只会介绍一些用到的方法。

你先要在引用中添加 System.Web.然后引用命名空间。

属性:

 

 

      public void GetTest(){int loop1, loop2;NameValueCollection coll;  //System.Collections.Specialized;  命名空间下// Load ServerVariable collection into NameValueCollection object.coll = Request.ServerVariables;// Get names of all keys into a string array. String[] arr1 = coll.AllKeys;for (loop1 = 0; loop1 < arr1.Length; loop1++){Response.Write("Key: " + arr1[loop1] + "<br>");String[] arr2 = coll.GetValues(arr1[loop1]);for (loop2 = 0; loop2 < arr2.Length; loop2++){Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");}}}

 

 

public Uri UrlReferrer { get; }

 Url类简单介绍

定义: 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。

 属性: 截取一部分属性     

返回字符串类型

 

测试:

页面1有一个连接到页面2去

<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl="~/TestDemo/WebForm2.aspx">LinkButton</asp:LinkButton>

页面2的加载事件把上一个URL信息输出

 protected void Page_Load(object sender, EventArgs e){         Uri MyUrl = Request.UrlReferrer;Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.AbsoluteUri) + "<br>");Response.Write("Referrer URL Port: " + Server.HtmlEncode(MyUrl.Port.ToString()) + "<br>");Response.Write("Referrer URL Protocol: " + Server.HtmlEncode(MyUrl.Scheme) + "<br>");Response.Write("Referrer URL: " + Server.HtmlEncode(MyUrl.Query) + "<br>");}

传参是一样的(需要使用get传参)

用途:

使用这个很好的可以解决我们登入返回登入页面的问题。登入返回登入前的页面还可以使用Session解决,在登入前把页面信息都保存起来,登入成功后在读取出来。

注:需要在登入页面的加载事件把上一个URL用字符串存起来,登入成功了,跳转这个字符串。(写了登入事件,点击的时候会让页面刷新,上一个页面就是本事页面了)

解决方法:

  string beforeURL = "";  //第一次进入的时候把之前的页面存起来protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){if (Request.UrlReferrer != null)    //如果这个页面是第一个打开的,这个值为空{beforeURL = Request.UrlReferrer.ToString();}}     }
 if (beforeURL!=""){Response.Redirect(beforeURL);}else{Response.Redirect("HomePage/Index.aspx");}

 

 

 

这三个都是返回字符串类型

备注:原始 URL 被指以下域信息的 URL 的一部分。 在 URL 字符串 http://www.contoso.com/articles/recent.aspx,原始的 URL 是 /articles/recent.aspx。 如果存在,原始的 URL 包括查询字符串。

 

            Response.Write("Referrer1: " + Server.HtmlEncode(Request.PhysicalApplicationPath) + "<br>");Response.Write("Referrer2: " + Server.HtmlEncode(Request.PhysicalPath) + "<br>");Response.Write("Referrer URL: " + Server.HtmlEncode(Request.RawUrl) + "<br>");

 

 

 

 

属性:

    Response.Write("Type: " + Server.HtmlEncode(Request.Browser.Type) + "<br>");

 

 

 

   Response.Write("Url: " + Server.HtmlEncode(Request.Url.ToString()) + "<br>");
Url: http://localhost:4265/TestDemo/WebForm1.aspx?data=1&ke=good

 

 

 

 

get传参

string fullname1 = Request.QueryString["fullname"];  //返回的是string类型
string fullname2 = Request["fullname"];

第一行代码会查找键"fullname"仅在查询字符串中;第二行中查找"fullname"中的所有 HTTP 请求集合的键。

HttpRequest.Item 属性 (String) 

从 QueryString、Form、Cookies 或 ServerVariables 集合获取指定的对象。

 Type: System.Collections.Specialized.NameValueCollection

NameValueCollection 类

表示可通过键或索引访问的关联 String 键和 String 值的集合。

 

 

 

 

 

 

post传参

Form和QueryString是一样的,都可以使用下面的方法获取都有的健和值

            int loop1 = 0;NameValueCollection coll = Request.QueryString;  //注意引用命名空间string[] arr1 = coll.AllKeys;for (loop1 = 0; loop1 < arr1.Length; loop1++){              Response.Write("Form: " + arr1[loop1] + ",Vlue:"+ Request.QueryString[arr1[loop1]] + "<br>");}

 

 

 

 

 protected void Page_Load(object sender, EventArgs e){int loop1, loop2;NameValueCollection coll;// Load Header collection into NameValueCollection object.coll = Request.Headers;// Put the names of all keys into a string array.String[] arr1 = coll.AllKeys;for (loop1 = 0; loop1 < arr1.Length; loop1++){Response.Write("Key: " + arr1[loop1] + "<br>");// Get all values under this key.String[] arr2 = coll.GetValues(arr1[loop1]);for (loop2 = 0; loop2 < arr2.Length; loop2++){Response.Write("Value " + loop2 + ": " + Server.HtmlEncode(arr2[loop2]) + "<br>");}}}

 

 

 

 

 

Request.Cookies["XX"];//返回的是HttpCookie类

 

HttpCookie 类

提供以类型安全的方式来创建和操作单个 HTTP cookie。

命名空间:   System.Web

简单的设想Cookies

设置一个Cookies 

   Response.Cookies["one"].Value =Server.UrlEncode("我的Cookie值"); //要存储中文需要编码

获取一个Cookies

  Response.Write(Server.UrlDecode(Request.Cookies["one"].Value) +"<br>");//进行解码

 

还可以在一个Cookies里面设置多个健

    HttpCookie myCookie = new HttpCookie("two");myCookie.Values["Name"] = "li";//中文编码myCookie.Values["Age"] = "18";Response.Cookies.Add(myCookie);
    Response.Write(Request.Cookies["two"].Value+"<br>");Response.Write(Request.Cookies["two"].Values + "<br>");Response.Write(Request.Cookies["two"].Values["Name"] + "<br>");Response.Write(Request.Cookies["two"]["Age"] + "<br>");

 

 调用封装的方法:

            HttpRequestC.WriteCookie("one", "我的Cookied值");HttpRequestC.WriteCookie("two", "li", "Name");HttpRequestC.WriteCookie("two", "187", "Age");

 

            Response.Write(HttpRequestC.GetCookie("one")+"<br>");Response.Write(HttpRequestC.GetCookie("two","Name") + "<br>");Response.Write(HttpRequestC.GetCookie("two", "Age") + "<br>");

 

 

Request.Params["xxx"];//通用方法

 

 

 

HttpFileCollection.Item 属性 (String)

 

HttpPostedFile 类

提供已上载的客户端的各个文件的访问权限。

 

 

    <asp:FileUpload ID="fileUpload" runat="server" /><asp:FileUpload ID="fileTwo" runat="server" />
    protected void LinkButton1_Click(object sender, EventArgs e){int loop1;HttpFileCollection Files = Request.Files;string[] arr1 = Files.AllKeys;for (loop1 = 0; loop1 < arr1.Length; loop1++){Response.Write("File: " + Server.HtmlEncode(arr1[loop1]) + "<br />");Response.Write("  size = " + Files[loop1].ContentLength + "<br />");Response.Write("  content type = " + Files[loop1].ContentType + "<br />");}HttpPostedFile pf = Request.Files["fileTwo"];Response.Write("Name:"+pf.FileName+"<br>");Response.Write("流对象:"+pf.InputStream + "<br>");Response.Write("字节:"+pf.ContentLength + "<br>");Response.Write("类型:"+pf.ContentType + "<br>");}

 

 

基本介绍就到这了。  

 

转载于:https://www.cnblogs.com/Sea1ee/p/7240943.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的HashSet内部是如何工作的

HashSet 的内部采用 HashMap来实现。由于 Map 需要 key 和 value&#xff0c;所以HashSet中所有 key 的都有一个默认 value。 类似于HashMap&#xff0c;HashSet 不允许重复的 key&#xff0c;只允许有一个null key&#xff0c;意思就是 HashSet 中只允许存储一个 null 对象。…

python字符串函数运算_Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】 原创...

前面简单介绍了python基本运算&#xff0c;这里再来简单讲述一下Python字符串相关操作1. 字符串表示方法 >>> "www.jb51.net" #字符串使用单引号()或双引号(")表示www.jb51.net>>> www.jb51.netwww.jb51.net>>> "www."&qu…

自定义报表预览控制工具条

说明&#xff1a;原有的VFP的打印预览用多了感觉真的不是很方便&#xff0c;在某些特定的要求下&#xff0c;她就显得很笨拙&#xff0c;尤其那个打印工具条上的打印机按纽&#xff0c;一点就打印了&#xff0c;有时候我们需要在那个时候进行有选择性的打印而不是全盘的打出来&…

Struts2结果跳转方式

1.转发 <!-- 转发 --> <action name"Demo1Action" class"cn.itheima.a_result.Demo1Action" method"execute" ><result name"success" type"dispatcher" >/hello.jsp</result> </action> 2.…

mysql gid_mysql主从复制5.6基于GID及多线程的复制笔记

mysql:数据库复制过滤#show grobal variables like binlog%;注意&#xff1a;不能在主服务器上做过滤&#xff0c;二进制不完整性&#xff1b;它将危害到其他的数据库&#xff1b;在从库过滤会占用过多的带宽,还会复制过多的跟数据库无关的内容主端:binlog-do-db:仅将指定数据库…

TreeMap是按照key的字典顺序来排序

一、TreeMap TreeMap 默认排序规则&#xff1a;按照key的字典顺序来排序&#xff08;升序&#xff09; 字典排序&#xff08;lexicographical order&#xff09;是一种对于随机变量形成序列的排序方法。即按照字母顺序&#xff0c;或者数字小大顺序&#xff0c;由小到大的形成…

Fireflow 终于发布啦!

Fireflow终于发布啦。虽然离工程应用还有一段距离&#xff0c;但是我还是想放出来让大家看看&#xff0c;听听大家的意见和建议。Fireflow的特点是模型和engine理论严密&#xff0c;因此可以在设计器中模拟流程的执行。另外Fireflow的系统设计也还可以的~_^文档还很欠缺&#x…

C语言攻略指南(五)数组篇

数组是指那些具有相同的数据类型的&#xff0c;数量有限的若干个变量通过有序的方法组织起来的一样种便于使用的形式。数组属于派生类型&#xff08;数组是建立在其他类型的基础上&#xff09;&#xff0c;数组中的变量被称为数组的元素。 一维数组 一维数组指的是只有一个下标…

java 虚类_java虚方法

java虚方法我们已经讨论了方法的重载&#xff0c;也就是子类能够重载父类的方法。以下是小编为大家搜索整理的java虚方法&#xff0c;欢迎大家阅读!更多精彩内容请及时关注我们应届毕业生考试网!当子类对象调用重载的方法时&#xff0c;调用的是子类的方法&#xff0c;而不是父…

windows下快速启动或关闭系统服务方法

在windows下有些后台服务会开机自动启动。 用命令行方式启动关闭应用服务 使用sc.exe命令功能列表 修改服务启动类型的命令行格式为&#xff08;特别注意start后面有一个空格&#xff09;    sc config 服务名称 start demand(设置服务为手动启动)     sc config 服务名…

我为什么fuck GFW同时FUCK 开心网

我很生气&#xff0c;后果很严重&#xff0c;你要问我为什么&#xff0c;那是因为GFW 屏蔽了一个对我有用的站点[url]www.github.com[/url]&#xff0c; 什么玩意&#xff08;省略1亿遍fuck 他们的话&#xff09;。 开心网删除我的日记&#xff0c; 并没用通知过我&#xff0c…

java 变量存放在哪_Java全局变量存放在哪里?

我们说 常量,静态变量存放在方法区中,方法中的临时变量,存放到Java 虚拟栈中。有人问,那全局变量*(对象)存放在哪里. 其实全局变量 就是参考文章中所说的class的字段,就是指全局变量,它是存放在方法区中的。e)方法区 与堆一样,是被线程共享的区域。在方法区中,存储了每…

中国网瘾群落调查

到底有多少青少年患上网瘾&#xff1f;答案是惊人的400万。在此前举行的全国人大常委会的会议上&#xff0c;全国人大常委会副委员长、秘书长李建国称&#xff0c;目前我国约4000万未成年网民中“网瘾少年”占10%左右&#xff0c;主要原因是迷恋网络游戏。华中师范大学教授、著…

从头认识Spring-1.7 如何通过属性注入Bean?(1)-如何通过属性向对象注入值?...

这一章节我们来讨论一下如何通过属性注入Bean&#xff1f;这一章节分为两部分&#xff0c;第一部分我们通过属性向对象注入值&#xff0c;第二部分我们通过属性向对象注入还有一个对象的引用。1.如何通过属性向对象注入值&#xff1f;&#xff08;1&#xff09;domainpackage c…

chrome java虚拟机_JATT:谷歌的Java虚拟机自动调整工具

JATT是google的Java虚拟机自动调整工具&#xff0c;它是一个开源软件工具&#xff0c;用于优化Java虚拟机(JVM)。JATT是基于OpenTuner开发的&#xff0c;OpenTuner是另一个开源软件框架&#xff0c;用于构建域特定的自动微调器。 JATT专门用于调整HotSpot JVM&#xff0c;这是最…

初识北京

话说话说就来了北京&#xff0c;长期在南方生活惯了&#xff0c;来这里还真有点不习惯。。。 1.、北京不算整洁的城市&#xff0c;作为一个有历史的城市&#xff0c;电线乱牵&#xff0c;路面邋遢&#xff0c;当然&#xff0c;对于一贯低要求的中国人来说问题也不是很严重&…

jsb调用java_在JS代码中使用反射调用java代码注意事项(附webview使用方法)(转)...

本文是推荐使用过jsb.reflection的开发者进行阅读。关于jsb.reflection的说明请参照&#xff1a;我们在代码编写过程中&#xff0c;通常会需要在js脚本中调用到java代码或者Objective-C的代码。例如&#xff1a;接入sdk&#xff0c;显示webview&#xff0c;使用原生代码&#x…