Asp.net中Request.Url的各个属性对应的意义介绍_基础应用

1.简单的环境搭建
  在本地IIS上配置了一个网站:主机名为wjnhome.com,端口88,然后建了一个虚拟目录指向同一站点,虚拟目录名称为virtual,配置host为127.0.0.1  wjnhome.com
  所以地址就为:http://jb51.net:88/virtual/urldemo.aspx?id=2#top
2.编写简单的代码

复制代码 代码如下:

//虚拟目录的路径
Response.Write("<strong>Request.ApplicationPath:</strong>" + Request.ApplicationPath + "</br>");
//站点的物理路径(完整路径)
Response.Write("<strong>Request.PhysicalPath:</strong>" + Request.PhysicalPath + "</br>");
//站点物理路径的目录
Response.Write("<strong>DirectoryName:</strong>" + System.IO.Path.GetDirectoryName(Request.PhysicalPath) + "</br>");
//站点物理路径的目录
Response.Write("<strong>Request.PhysicalApplicationPath:</strong>" + Request.PhysicalApplicationPath + "</br>");
//当前页面的文件名
Response.Write("<strong>FileName:</strong>" + System.IO.Path.GetFileName(Request.PhysicalPath) + "</br>");
//当前页面的虚拟路径
Response.Write("<strong>Request.CurrentExecutionFilePath:</strong>" + Request.CurrentExecutionFilePath + "</br>");
//当前页面的虚拟路径
Response.Write("<strong>Request.FilePath:</strong>" + Request.FilePath + "</br>");
Response.Write("<strong>Request.Path:</strong>" + Request.Path + "</br>");
//原始URL
Response.Write("<strong>Request.RawUrl:</strong>" + Request.RawUrl + "</br>");
//绝对路径(不包括参数什么的)
Response.Write("<strong>Request.Url.AbsolutePath:</strong>" + Request.Url.AbsolutePath + "</br>");
//绝对URL
Response.Write("<strong>Request.Url.AbsoluteUri:</strong>" + Request.Url.AbsoluteUri + "</br>");
//URL协议方案
Response.Write("<strong>Request.Url.Scheme:</strong>" + Request.Url.Scheme + "</br>");
//URL的主机名
Response.Write("<strong>Request.Url.Host:</strong>" + Request.Url.Host + "</br>");
//URL端口号
Response.Write("<strong>Request.Url.Port:</strong>" + Request.Url.Port + "</br>");
//主机名+端口号
Response.Write("<strong>Request.Url.Authority:</strong>" + Request.Url.Authority + "</br>");
//获取文件名的本地操作系统表现形式
Response.Write("<strong>Request.Url.LocalPath:</strong>" + Request.Url.LocalPath + "</br>");
//附加路径信息,例如http://jb51.net:88/UrlDemo.aspx/Hello?id=22#top 那么这里就是Hello
Response.Write("<strong>Request.PathInfo:</strong>" + Request.PathInfo + "</br>");
//URL的路径和GET参数
Response.Write("<strong>Request.Url.PathAndQuery:</strong>" + Request.Url.PathAndQuery + "</br>");
//URL的GET参数
Response.Write("<strong>Request.Url.Query:</strong>" + Request.Url.Query + "</br>");
//主要指的是http://jb51.net:88/UrlDemo.aspx/Hello?id=22#top中#后面的top。
//但一般情况下无法获取值,因为浏览器不会把这个值发送到服务器端
Response.Write("<strong>Request.Url.Fragment:</strong>" + Request.Url.Fragment + "</br>");
//主机名
Response.Write("<strong>Request.Url.DnsSafeHost:</strong>" + Request.Url.DnsSafeHost + "</br>");
//URL的全部
Response.Write("<strong>Request.Url.OriginalString:</strong>" + Request.Url.OriginalString + "</br>");
//这种情况 Uri uriAddress = new Uri ("http://user:password@www.contoso.com/index.htm ") Console.WriteLine(uriAddress.UserInfo);
Response.Write("<strong>Request.Url.UserInfo:</strong>" + Request.Url.UserInfo + "</br>");
//从某个页面跳转过来的时候会显示源页面的值
Response.Write("<strong>Request.UrlReferrer:</strong>" + Request.UrlReferrer + "</br>");
//URI的每一段
for (var i = 0; i < Request.Url.Segments.Length;i++ )
{
Response.Write("<strong>Request.Url.Segment" + i + ":</strong>" + Request.Url.Segments[i] + "</br>");
}

3.输出结果
  Request.ApplicationPath:/virtual
  Request.PhysicalPath:E:\VsProject\201200420\UrlDemo\UrlDemo\urldemo.aspx
  DirectoryName:E:\VsProject\201200420\UrlDemo\UrlDemo
  Request.PhysicalApplicationPath:E:\VsProject\201200420\UrlDemo\UrlDemo\
  FileName:urldemo.aspx
  Request.CurrentExecutionFilePath:/virtual/urldemo.aspx
  Request.FilePath:/virtual/urldemo.aspx
  Request.Path:/virtual/urldemo.aspx
  Request.RawUrl:/virtual/urldemo.aspx?id=2
  Request.Url.AbsolutePath:/virtual/urldemo.aspx
  Request.Url.AbsoluteUri:http://jb51.net:88/virtual/urldemo.aspx?id=2
  Request.Url.Scheme:http
  Request.Url.Host:wjnhome.com
  Request.Url.Port:88
  Request.Url.Authority:wjnhome.com:88
  Request.Url.LocalPath:/virtual/urldemo.aspx
  Request.PathInfo:
  Request.Url.PathAndQuery:/virtual/urldemo.aspx?id=2
  Request.Url.Query:?id=2
  Request.Url.Fragment:
  Request.Url.DnsSafeHost:wjnhome.com
  Request.Url.OriginalString:http://jb51.net:88/virtual/urldemo.aspx?id=2
  Request.Url.UserInfo:
  Request.UrlReferrer:
  Request.Url.Segment0:/
  Request.Url.Segment1:virtual/
  Request.Url.Segment2:urldemo.aspx

作者:wjn

时间: 2024-11-05 18:54:14

Asp.net中Request.Url的各个属性对应的意义介绍_基础应用的相关文章

ASP.NET中获取URL重写前的原始地址详解_实用技巧

通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是重写后的地址,这虽然不影响正常使用,但从用户体验及URL统一的角度,我们更希望是重写前的地址. 之前,我们在开发中也被这个问题困扰,只能尽量通过js重定向至登录页面(通过location.href获取当前网址)或者在代码中

ASP.NET中MultiView和View选项卡控件的使用方法_基础应用

MultiView 控件可用作一个或多个 View 控件的外部容器.而 View 控件可以包含标记和控件的任意组合.您可以使用 MultiView 和 View 控件来执行各种任务,例如基于用户选择提供替换控件集或者创建多页表单. MultiView 控件一次显示一个 View 控件,并公开该 View 控件内的标记和控件.通过设置 MultiView 控件的 ActiveViewIndex 属性,可以指定当前可见的 View 控件. 如果要切换视图,可以使用控件的ID或者View控件的索引值.

在 ASP.NET 中执行 URL 重写

asp.net|执行 Scott Mitchell 4GuysFromRolla.com 适用范围: Microsoft ASP.NET 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重写.URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.讨论实现 URL 重写的各种技术,并介绍执行 URL 重写的一些实际情况. 下载本文的源代码. 本页内容 引言 URL 重写的常见用法 请求到达 IIS 时将会发生什么情况 实现 URL 重写 构建 UR

asp.net中对URL的一些操作

编辑器加载中... 例如当前URI为:http://www.test.com/zzl/renren?id=1 获取绝对URI的路 System.Web.HttpContext.Current.Request.Url.AbsolutePath (/zzl/renren) 获取绝对URI System.Web.HttpContext.Current.Request.Url.AbsoluteUri (www.test.com/zzl/renren) 获取服务器的主机名或IP地址和端口号 System.

在ASP.NET中实现Url Rewriting

asp.net 概要 分析如何使用微软提供的ASP.NET来对动态产生的URL地址进行网址重写. 网址重写是实现一种截取网址请求并将其进行处理后重新指向到一个指定的网址的过程.作者本人在对各种实现网址重写的技术进行研究和探讨后得出的经验和方法,希望能对您有所帮助. 内容简介 稍微花点时间看一看你做的网站里头的URL地址,你看到类似这样的地址吗http://yoursite.com/info/dispEmployeeInfo.aspx?EmpID=459-099&type=summary ?也许你

在ASP.NET中重写URL的代码_实用技巧

经常有人请我指导应该如何动态地"重写"URL,以在他们的ASP.NETweb应用中发布比较干净的URL端点.这个博客帖子概述了几个方法,你可以用来在ASP.NET中干净地映射或重写URL,以及按照你自己的需求组织你的URL的结构.  为什么URL映射和重写很重要? 下面是开发人员想要对URL有更大的灵活性的最常见的场景:  1) 处理这样的情形:你要更改你的web应用中网页的结构,但你同时也要确保在你移动网页后,那些被人收藏的老URL不会成为死链接.重写URL允许你透明地将请求转交到新

ASP.NET中Request接收参数乱码解决方法

asp教程.net中request接收参数乱码解决方法 asp.net教程 request对象的属性和方法比较多,常用的几个为:useragent 传回客户端浏览器的版本信息,userhostaddress 传回远方客户端机器的主机ip 地址,userhostname 传回远方客户端机器的dns 名称,physicalapplicationpath 传回目前请求网页在server 端的真实路径. 下面进行正题,我的web.config配置文件里配置了全局为"gb2312"编码: <

ASP.NET中获取URL重写前的原始地址

在ASP.NET中,如果你使用了URL重写,通过HttpContext.Request获取到的是重写后的地址.如果这个地址要返回给客户端(比如Redirect),我们一般希望是重写前的友好地址. 通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是重写后的地址,这虽然不影响

ASP.NET中获取URL重写前的原始地址详解

在ASP.NET中,如果你使用了URL重写,通过HttpContext.Request获取到的是重写后的地址.如果这个地址要返回给客户端(比如Redirect),我们一般希望是重写前的友好地址.   通常的使用场景是当我们有某个页面需要用户登录才能访问时,我们会在代码中判断当前访问用户是否登录,如果未登录,则重定向至登录页面,并将当 前网址通过Url参数传递给登录页面.如果使用了URL重写,并通过Request.Url.AbsoluteUri获取当前网址,用户登录后打开的就是 重写后的地址,这虽