ASP.NET 网站路径

news/2024/5/20 15:30:39/文章来源:https://blog.csdn.net/weixin_30437847/article/details/96085145

使用网站中的资源时,通常必须指定资源的路径。例如,您可以使用 URL 路径引用页面中的图像文件或网站中其他位置处的页面的 URL。同样,Web 应用程序中的代码可以使用基于服务器的文件的物理文件路径对文件进行读写操作。ASP.NET 提供用于引用资源并确定应用程序中的页面或其他资源的路径的方法。

指定资源的路径

许多情况下,页面中的元素或控件必须引用外部资源,如文件。ASP.NET 允许您通过各种方法引用外部资源。所选方法取决于使用客户端元素还是服务器控件。

客户端元素

元素(不是页面中的服务器控件,而是客户端元素)以原样传递给浏览器。因此,从客户端元素中引用资源时,应根据 HTML 中 URL 的标准规则构造路径。可以使用完全限定(绝对)URL 路径,也可以使用各种类型的相对路径。例如,如果页面包含一个 img 标记,则可以使用以下路径之一设置其 src 属性:

  • 绝对 URL 路径:

    <img src="http://www.contoso.com/MyApplication/Images/SampleImage.jpg" />

    如果引用其他位置(如外部网站)中的资源,则绝对 URL 路径非常有用。

  • 站点根目录相对路径,根据站点(不是应用程序)根目录进行解析。此示例路径假定 Images 文件夹存在于网站根目录下:

    <img src="/Images/SampleImage.jpg" />

    如果您的网站为 http://www.contoso.com,则路径将解析为以下形式:

    http://www.contoso.com/Images/SampleImage.jpg

    如果将跨应用程序的资源(如图像或客户端脚本文件)保留在网站根目录下的文件夹中,则站点根目录相对路径非常有用。

  • 根据当前页面路径解析的相对路径:

    <img src="Images/SampleImage.jpg" />
  • 解析为当前页面路径对等的相对路径。

    <img src="../Images/SampleImage.jpg" />
    Note注意

    默认情况下,浏览器使用当前页面的 URL 作为基准解析相对路径。但是,您可以在页面中包含 HTML base 元素,以指定替代基路径。

服务器控件

在引用资源的 ASP.NET 服务器控件中,可以使用绝对路径或相对路径,这一点与客户端元素一样。如果使用相对路径,则相对于页面、用户控件或包含该控件的主题的路径进行解析。例如,假设 Controls 文件夹中包含一个用户控件。该用户控件包含一个 Image Web 服务器控件,该服务器控件的 ImageUrl 属性设置为以下路径:

Images/SampleImage.jpg

该用户控件运行时,路径将解析为以下形式:

/Controls/Images/SampleImage.jpg

无论承载用户控件的页面位置如何,都是如此。

服务器控件中的绝对和相对路径引用具有以下缺点:

  • 绝对路径在应用程序之间是不可移植的。如果移动绝对路径指向的应用程序,则链接将会中断。

  • 如果将资源或页面移动到不同的文件夹,可能很难维护采用客户端元素样式的相对路径。

为克服这些缺点,ASP.NET 启用了 Web 应用程序根目录运算符 (~),在服务器控件中指定路径时,可以使用该运算符。ASP.NET 会将 ~ 运算符解析为当前应用程序的根目录。可以结合使用 ~ 运算符和文件夹来指定基于当前根目录的路径。下面的示例演示使用 Image 服务器控件时用于指定图像的根目录相对路径的 ~ 运算符:

<asp:image runat="server" id="Image1"
ImageUrl="~/Images/SampleImage.jpg" />

在该示例中,图像文件将从 Web 应用程序根目录下的 Images 文件夹中直接读取,无论该页面位于网站的什么位置。

Note注意

~ 运算符只能为服务器控件识别,并且位于服务器代码中。不能将 ~ 运算符用于客户端元素。

可以在服务器控件中的任何与路径有关的属性中使用 ~ 运算符。

Note注意

在主控页中,资源的路径基于内容页的路径进行解析。有关更多信息,请参见 ASP.NET 母版页概述

确定当前网站的物理文件路径

在应用程序中,您可能需要确定服务器上的文件或其他资源的路径。例如,如果应用程序以编程方式对文本文件进行读写操作,则必须为用于读取和写入的方法提供该文件的完整物理路径。

将物理文件路径(如 C:\Website\MyApplication)硬编码到应用程序中并不是很好的做法,因为如果移动或部署应用程序,则路径会发生更改。但是,ASP.NET 为您提供了以编程方式获取应用程序中的任何物理文件路径的方法。然后,您可以使用基文件路径创建所需资源的完整路径。用于确定文件路径的两种最常用的 ASP.NET 功能是返回路径信息的 HttpRequest 对象的属性,以及 MapPath 方法。

Note注意

不应将物理文件路径发送到客户端,因为它们可能会被恶意用户用来获取有关您的应用程序的信息。

根据请求属性确定路径

下表列出了 HttpRequest 对象的属性,这些属性帮助您确定应用程序中的资源的路径。

下面的示例假定使用以下 URL 来发出浏览器请求:

http://www.contoso.com/MyApplication/MyPages/Default.aspx

对于这些示例,术语“虚拟路径”是指跟在服务器标识符后面的请求 URL 的一部分,此时虚拟路径如下所示:

/MyApplication/MyPages/Default.aspx

此外,这些示例假定网站根目录的物理路径为以下形式:

C:\inetpub\wwwroot\MyApplication\

最后,这些示例假定物理路径包含一个名为 MyPages 的文件夹。

 
属性 说明

ApplicationPath

获取当前应用程序的根目录路径,无论在该应用程序中的什么位置请求该路径。对于此示例,该属性将返回以下内容:

/

CurrentExecutionFilePath

获取当前请求的虚拟路径。不同于 FilePath,差别在于如果请求已在服务器代码中被重定向,则 CurrentExecutionFilePath 就是正确的。对于此示例,该属性将返回以下内容:

/MyApplication/MyPages/Default.aspx

如果作为对 TransferExecute 进行调用的结果,您获取正在运行的代码中的属性,则路径将反映该代码的位置。

FilePath

获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容:

/MyApplication/MyPages/Default.aspx

不同于 CurrentExecutionFilePathFilePath 不反映服务器端转换。

Path

获取当前请求的虚拟路径。对于此示例,该属性将返回以下内容:

/MyApplication/MyPages/default.aspx

PhysicalApplicationPath

获取当前正在执行的应用程序的根目录的物理文件系统路径。对于此示例,该属性将返回以下内容:

C:\inetpub\wwwroot\

PhysicalPath

获取与请求的 URL 对应的物理文件系统路径。对于此示例,该属性将返回以下内容:

C:\inetpub\wwwroot\MyApplication\MyPages\default.aspx

使用 MapPath 方法

MapPath 方法返回传递给该方法的虚拟路径的完整物理路径。例如,以下代码返回网站根目录的文件路径:

Visual Basic
copy_off.gif 复制代码
Dim rootPath As String = Server.MapPath("~")
C#
copy_off.gif 复制代码
String rootPath = Server.MapPath("~");
Note注意

传递给 MapPath 方法的路径必须为应用程序相对路径,而不是绝对路径。

转载于:https://www.cnblogs.com/skylaugh/archive/2006/09/14/503995.html

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

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

相关文章

帅的一坨,不转不行。优雅实用web标准网站设计欣赏

文章来源于我非常喜爱的Smashing Magazine。网站不支持图片外链接&#xff0c;如果看不到图片请访问原文地址&#xff1a;http://www.smashingmagazine.com/2007/07/04/inspiration-package-usable-elegant-inspiring-design-showcase/以下是原文&#xff1a; Inspiration Pack…

js入门·表单元素(select下拉列表)制作二级联动菜单和网站导航

对于脚本来说&#xff0c;最复杂的表单元素对象就是select了&#xff0c;他是一个复合对象&#xff0c;包含OPTION对象数组的对象 演示一&#xff1a;导航,这个多见于网站友情链接 请选择您要去的网站天轰穿系列教程博客园CSDN演示二&#xff1a;地区二级无刷新联动菜单&#x…

关系网成网络盈利模式 LinkedIn网站探秘

“人传人”的创业群体 2003年&#xff0c;从加州大学伯克利分校经济系毕业后&#xff0c;林文文开始了在加州联合银行的工作。今年7月&#xff0c;她决定转行做市场营销&#xff0c;然而由于缺乏相关的工作经验&#xff0c;她在几大求职网站上投的简历最终都石沉大海。 后来&am…

关于网站登录后的页面操作所携带的不同cookie值

对于课堂派网站,登录后的页面操作只需要携带PHPSESSID或者cookie中间那部分即可,两个都带也可,SERVERID不知道是干啥的,每次响应的都会变. 代码实现: cookie None class HttpRequest:def __init__(self,method,url,dataNone):self.methodmethodself.urlurlself.datadata# def …

新辰:共享是SEO的思维 用户是SEO的核心

大家都知道。SEO一直没有一个能够定义的核心。新辰知道全部的东西里面在互联网领域链接是非常重要的。所以新辰觉得做SEO就是把链接做好。因此&#xff0c;链接对于一个站点来说简单分能够分成两种。内部的链接和外部的链接。故内链和外链出来了。对于互联网来说。外链的作用比…

SSM重新开发计科院新闻网站

SSM重新开发计科院新闻网站 学号&#xff1a;201631062509 姓名&#xff1a;杨菓 1.什么是SSM SSM就是SpringSpringMVCMyBatis框架的整合。 1.1 Spring Spring是一个开源框架&#xff0c;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由Rod Johnson 在其著作…

Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息

1. 任务描述目标网站:http://www.mininova.org/yesterday/ 目标网站截图&#xff1a;-------------------------------------可以看到种子文件的列表&#xff0c;这些链接的url可以用正则表达式表示为&#xff1a; /tor/\d随便点一个进去&#xff0c;进入资源详情页&#xff1a…

教育局机关局域网站点上网指南

教育局机关局域网站点上网指南 1.什么是站点上网零维护&#xff1f;我们能实现这个目标吗? 站点上网零维护最少包括如下4个方面的因素&#xff1a;①机房无需人员值守&#xff1b;②上网线路和设备稳定畅通&#xff1b;③每个站点无需进行任何设置&#xff1b;④站点使用人员懂…

通过华为云搭建一个属于自己的小网站

出于个人兴趣&#xff0c;想搭建一个自己的网站玩玩。 先在华为云买个云服务器&#xff0c;由于是第一次玩&#xff0c;先买个windows server 2019版的&#xff0c;2核4G&#xff0c;以后弄熟了再上手linux吧。、 经过重置密码&#xff0c;设置安全组等简单配置后登录服务器主机…

微软发布IIS漏洞补丁,影响我国五分之一网站

2015年4月14日&#xff0c;微软发布月度例行安全公告&#xff0c;共释放出11项更新&#xff0c;一举修复包括Windows操作系统、IE浏览器、Office办公软件、.NET Framework、Server软件、Office Services和Web Apps在内的26个安全漏洞。在这11项更新中&#xff0c;有4项更新综合…

SEO的艺术(原书第2版)

《SEO的艺术(原书第2版)》基本信息原书名&#xff1a;The Art of SEO, Second Edition作者&#xff1a; Eric Enge Stephan Spencer Jessie Stricchiola Rand Fishkin译者&#xff1a; 姚军丛书名&#xff1a; O’Reilly精品图书系列出版社&#xff1a;机械工业出版社ISBN&…

为你的网站添加qq在线服务功能

最近要做一个网站&#xff0c;客户要求有在线服务&#xff0c;思来想去&#xff0c;最后决定用qq在线服务功能来实现。 说来也巧&#xff0c;我也是在其他很多网站上见到这个功能&#xff0c;所以就偷工减料地利用现有的东西来做的。 好了&#xff0c;不多说了&#xff0c;进入…

Web应用程序与Web网站在IIS中部署

Web应用程序与Web站点区别 在Visual Studio可以创建 Web 应用程序项目或网站项目。 每种项目类型各有优缺点&#xff0c;要选择可以满足需要的最佳项目类型&#xff0c;应了解各项目类型之间的差异。 创建项目之前&#xff0c;必须选择合适的项目类型&#xff0c;原因是从一种…

40款非常漂亮的 HTML5 CSS3 网站模板免费下载欣赏

HTML5 作为下一代网页语言&#xff0c;加入中众多更具语义的标签&#xff0c;例如video、audio、section、article、header 和 nav 等。而 CSS3 作为 CSS 的下一代版本&#xff0c;同样引入了很多很酷的属性&#xff0c;以前很多需要 JavaScript 才能实现的复杂效果&#xff0c…

网站如何集成支付宝!原来要给钱的

转&#xff1a;http://gavin-chen.iteye.com/blog/257864 刚在Javaeye看到一篇文章&#xff0c;关于网站集成支付宝的&#xff0c;正是我之前想了解的&#xff0c;不过作者写得有些零乱&#xff0c;解释也不太清楚&#xff0c;代码格式更是看着郁闷&#xff0c;待以后有空消化消…

回顾一下我所做过的网站

1998年&#xff0c;上大学之后开始学习计算机和编程&#xff0c;课堂上零零碎碎地学了一些Basic、Fortran、Matlab。喜欢上编程之后&#xff0c;决定做一个严肃的程序员&#xff0c;又自学了C和C。 2001年&#xff0c;上网有一段时间之后&#xff0c;对做网页产生了兴趣&#x…

[转]html5构建触屏网站之网站尺寸探讨

http://www.jb51.net/html5/70095.html 本文分为两个部分&#xff0c;第一部分讨论跨平台网站的可行性&#xff0c;第二部分讨论viewport是如何设置的 开发跨平台网站&#xff1f; 靠标签的自适应宽高实现多尺寸通用&#xff01;&#xff1f; 标签宽高可以自适应没错&#xff0…

记无法访问某一个网站,但可以访问其他网站的解决办法

问题 台式电脑&#xff0c;windows系统&#xff0c;chrome浏览器不知道从哪一天起&#xff0c;突然无法访问tools.ietf.org网站。 您正在尝试访问的计算机或设备可用&#xff0c;但不支持您正尝试执行的操作。这可能是设备存在配置问题或受到限制。 原因 经过网络搜索&#…

Nginx反向代理+DNS轮询+IIS7.5 千万PV 百万IP 双线 网站架构案例

为什么80%的码农都做不了架构师&#xff1f;>>> Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的&#xff0c;它已经在…

网站运营思维图{右键点击另存看清晰}

转载于:https://www.cnblogs.com/simonk/p/3632128.html