ASP.NET内置对象之Request传递请求对象

时间:2021-10-30 15:10:10

Request对象是HttpRequest类的一个实例,Request对象用于读取客户端在Web请求期间发送的HTTP值。Request对象常用的属性如下所示。

q      QueryString:获取HTTP查询字符串变量的集合。

q      Path:获取当前请求的虚拟路径。

q      UserHostAddress:获取远程客户端IP主机的地址。

q      Browser:获取有关正在请求的客户端的浏览器功能的信息。

1.QueryString:请求参数

QueryString属性是用来获取HTTP查询字符串变量的集合,通过QueryString属性能够获取页面传递的参数。在超链接中,往往需要从一个页面跳转到另外一个页面,跳转的页面需要获取HTTP的值来进行相应的操作,例如新闻页面的news.aspx?id=1。为了获取传递过来的id的值,则可以使用Request的QueryString属性,示例代码如下所示。

protected void Page_Load(object sender, EventArgs e)

{

if (!String.IsNullOrEmpty(Request.QueryString["id"]))                       //如果传递的ID值不为空

{

Label1.Text = Request.QueryString["id"];                                    //将传递的值赋予标签中

}

else

{

Label1.Text = "没有传递的值";                                                       //提示没有传递的值

}

if (!String.IsNullOrEmpty(Request.QueryString["type"]))                            //如果传递的TYPE值不为空

{

Label2.Text = Request.QueryString["type"];                               //获取传递的TYPE值

}

else

{

Label2.Text = "没有传递的值";                                                       //无值时进行相应的编码

}

}

上述代码使用Request的QueryString属性来接受传递的HTTP的值,当通过访问页面路径为“http://localhost:29867/Default.aspx”时,默认传递的参数为空,因为其路径中没有对参数的访问。而当访问的页面路径为“http://localhost:29867/Default.aspx?id=1&type=QueryString&action=get”时,就可以从路径中看出该地址传递了三个参数,这三个参数和值分别为id=1、type=QueryString以及action=get。

2.Path:获取路径

通过使用Path的方法可以获取当前请求的虚拟路径,示例代码如下所示。

Label3.Text = Request.Path.ToString();                                                       //获取请求路径

当在应用程序开发中使用Request.Path.ToString()时,就能够获取当前正在被请求的文件的虚拟路径的值,当需要对相应的文件进行操作时,可以使用Request.Path的信息进行判断。

3.UserHostAddress:获取IP记录

通过使用UserHostAddress的方法,可以获取远程客户端IP主机的地址,示例代码如下所示。

Label4.Text = Request.UserHostAddress;                                                   //获取客户端IP

在客户端主机IP统计和判断中,可以使用Request.UserHostAddress进行IP统计和判断。在有些系统中,需要对来访的IP进行筛选,使用Request.UserHostAddress就能够轻松的判断用户IP并进行筛选操作。

4.Browser:获取浏览器信息

通过使用Browser的方法,可以判断正在浏览网站的客户端的浏览器的版本,以及浏览器的一些信息,示例代码如下所示。

Label5.Text = Request.Browser.Type.ToString();                                       //获取浏览器信息

这些属性能够获取服务器和客户端的相应信息,也可以通过“?”号进行HTTP的值的传递和获取。

Request不仅包括这些常用的属性,还包括其他属性,例如用于获取当前目录在服务器虚拟主机中的绝对路径(如ApplicationPath)。另外,开发人员也可是使用Request中的Form属性进行页面中窗体的值集合的获取。