ASP.NET 网站路径

news/2024/5/21 12:50:48/文章来源:https://blog.csdn.net/Joetao/article/details/4188498
ASP.NET
ASP.NET 网站路径

 

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

指定资源的路径

许多情况下,页面中的元素或控件必须引用外部资源,如文件。ASP.NET 支持引用外部资源的各种方法。根据您使用的是客户端元素还是 Web 服务器控件,选择的引用方法将有所不同。

客户端元素

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

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

    复制代码
    <img src="http://www.contoso.com/MyApplication/Images/SampleImage.jpg" />
  • 网站根目录相对路径,此路径将根据网站根目录(而非应用程序根目录)进行解析。如果将跨应用程序的资源(例如图像或客户端脚本文件)保留在网站根目录下的文件夹中,则网站根目录相对路径非常有用。

    此示例路径假定 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。无论承载该用户控件的页面位于何处,结果都是如此。

Note注意

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

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

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

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

为克服这些缺点,ASP.NET 包括了 Web 应用程序根目录运算符 (~),当您在服务器控件中指定路径时可以使用该运算符。ASP.NET 会将 ~ 运算符解析为当前应用程序的根目录。可以结合使用 ~ 运算符和文件夹来指定基于当前根目录的路径。

下面的示例演示了使用 Image 服务器控件时用于为图像指定根目录相对路径的 ~ 运算符。在此示例中,无论页面位于网站中的什么位置,都将从位于 Web 应用程序根目录下的 Images 文件夹中直接读取图像文件。

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

可以在服务器控件中的任何与路径有关的属性中使用 ~ 运算符。~ 运算符只能为服务器控件识别,并且位于服务器代码中。不能将 ~ 运算符用于客户端元素。

Note注意

仅限于移动页,如果您的应用程序依赖于无 Cookie 会话或者可能收到来自移动设备的需要无 Cookie 会话的请求,则在路径中使用波形符(“~”)会导致意外创建新会话,并可能丢失会话数据。若要使用包含波形符(例如“~/路径”)的路径来设置移动控件的属性,请先使用 ResolveUrl 方法解析该路径,再将其分配给该属性。

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

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

将物理文件路径(例如 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

CurrentExecutionFilePath 属性不同的是,FilePath 不反映服务器端的传输。

Path

获取当前请求的虚拟路径。在此示例中,该属性将返回以下内容:/MyApplication/MyPages/default.aspx

PhysicalApplicationPath

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

PhysicalPath

获取与请求的 URL 相对应的物理文件系统路径。在此示例中,该属性将返回以下内容:C:/inetpub/wwwroot/MyApplication/MyPages/default.aspx

使用 MapPath 方法

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

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

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

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

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

相关文章

Python+bs4+xlspdf+mail,获取网站数据转化成要素格式的pdf并发送邮件。

Pythonbs4xlspdfmail&#xff0c;获取网站数据转化成要素格式的pdf并发送邮件。

Web2.0网站性能调优实践

当前web2.0革命风起云涌&#xff0c;web2.0强调服务&#xff0c;而服务最基本的要求是速度快和稳定&#xff0c;离开这两个谈功能强大和易用性都没有任何意义。本文介绍一些关于笔者运营一个web2.0网站的优化心得和经验&#xff0c;希望能够和大家共同探讨。 Web2.0网站不…

Java专业人士必备的书籍和网站列表

Roy Miller (royroywmiller.com), 创始人兼总裁, The Other Road, LLC 对于 Java™ 语言开发人员来说&#xff0c;信息过量是一个真正的问题。每个新入行的程序员都要面临一个令人畏缩的挑战&#xff1a;要进入的行业是一个具有海量知识的行业。要了解的东西简直太多了。对于有…

大型网站技术架构

架构演变第一步&#xff1a;物理分离webserver和数据库 最开始&#xff0c;由于某些想法&#xff0c;于是在互联网上搭建了一个网站&#xff0c;这个时候甚至有可能主机都是租借的&#xff0c;但由于这篇文章我们只关注架构的演变历程&#xff0c;因此就假设这个时候已经是托管…

用Varnish和Memcached缓存给WordPress网站提速-内存级加速

Varnish是一款高性能的缓存加速器&#xff0c;Varnish把数据存放在服务器的内存中&#xff0c;利用内存可以极大的提高PHP页面执行速度&#xff0c;可以设置0&#xff5e;60秒的精确缓存时间&#xff0c;32位的机器支持的缓存文件最大为2 GB。 Varnish采用VCL的配置&#xff0…

正则表达式的符号概念、捕获组与非捕获组、解读方式、练习网站

正则表达式 正则表达式的解读方法符号概念练习的网站看两个现象进行后续思考Group的用途 捕获组和非捕获组捕获组非捕获组组的命名 正则表达式的解读方法 读者最好能养成按照字符来理解正则表达式的习惯。&#xff08;参考自动物书《精通正则表达式》&#xff0c;这种读法对我…

基于VUE使用Hbuilder工具开发的甜品网站

上文已经提到了VUE实现的思维导图&#xff0c;感兴趣的同学可以自己去了解一下VUE&#xff0c;学过JS都会很快上手。本文是开发的甜品网站&#xff0c;适配所有手机的H5网页&#xff0c;你说它是APP、小程序好像都没错。 实现代码界面如下&#xff1a; 实现的主要代码如下&…

IE浏览器高通网站打不开dump分析选择目录总结

首先需要安装jdk与jre最新版本 安装之后配置好路径&#xff0c;重启电脑 如果浏览器提示&#xff1a;Unable to load Java Applet. Please make sure JRE is updated. 就如下图进行操作&#xff1a; 在浏览器设置->安全->去掉ActiveX筛选的前面的√ 当死机之后&#x…

Designing Websites for Performance 如何设计高性能网站 Lynda课程中文字幕

Designing Websites for Performance 中文字幕 如何设计高性能网站 中文字幕Designing Websites for Performance 设计性能网站探索快速模式&#xff0c;提示和技巧的网页设计师 在本文中&#xff0c;Brian Wood向您展示了如何优化和最小化Web图形的大小&#xff0c;实现流畅…

有一个属于自己的网站是不是很酷呢,超详细的建站流程,我都给你总结好了

上篇文章Relax讲到希望在AR这个方向上做一些事情&#xff0c;落实到具体上肯定是要做一些东西出来&#xff0c;从软件层面来说&#xff0c;传统互联网兴起是以成千上万的网站呈现的&#xff0c;移动互联网是以成千上万的APP呈现的&#xff0c;当然其实还有别的方式&#xff0c;…

接口调试网站和工具

调试网站&#xff1a;https://getman.cn/gsgaO 超级好用的一款在线接口调试网站&#xff0c;可以先分析带什么样的请求头部&#xff0c;什么样的数据体可以请求成功&#xff0c;然后调整请求代码格式。 调试工具&#xff1a;fidder 很多app不是我们开发的&#xff0c;但我们…

网站访问速度提升200%以上,阿里云虚拟主机支持PHP最新版本

日前&#xff0c;阿里云虚拟主机推出了新功能&#xff0c;支持PHP的最新版本 7.0和7.1&#xff0c;并支持用户在多个不同PHP版本之间切换。 PHP 作为最好的Web编程语言&#xff0c;最新版本已经更新到了7.0和7.1。阿里云作为国内虚拟主机的领头羊&#xff0c;为了给用户提供更先…

一键清理网站木马文件,从此网站拥有专属保镖 ——阿里云虚拟主机推出木马查杀功能

近日&#xff0c;阿里云推出了云虚拟主机网站木马查杀的新功能&#xff0c;十分适合对网站安全不了解、不熟悉的用户&#xff0c;或网站出现挂马情况不清楚如何处理的用户。 阿里云表示&#xff0c;此次网站木马查杀功能是阿里云安骑士专为虚拟主机推出的安全增值服务。通过周期…

每天自动备份网站数据,发现问题一键恢复 ——阿里云虚拟主机推出网站数据自动备份功能

近日&#xff0c;阿里云宣布推出虚拟主机网站自动备份功能&#xff0c;可自动备份用户的网站和数据库数据至单独的备份区域&#xff0c;用户可随时恢复前三天的网站和数据库的数据。一旦出现意外或者数据丢失情况&#xff0c;可将损失降低到最低。 数据是用户的最重要的财产&am…

10分钟轻松定制网站日志分析大盘

前言 作为站长的你是否也曾想针对站点访问日志信息&#xff0c;分析其中PV、UV、访问地域分布以及访问前十页面等情况。作为开发者的你是否也想记录应用的日志信息&#xff0c;针对top方法进行优化从而提升应用质量。作为运维老大的你是否也曾想过实时监控最近1个小时的服务器…

从网站上加载数据和从文本文件导入数据和超级燃的分列功能

从网站上加载数据 右键单击文件&#xff0c;选择打开方式为ie游览器&#xff0c;复制文件地址 数据——自网站——粘贴地址——选定表格&#xff08;旁有小箭头&#xff09;——导入——任意选定单元格 从文本文件导入数据 数据——自文本——选择文本 选择分隔符号&#x…

友情链接:对网站排名作用都深入了解吗?

说起友情链接的作用也是作为一个站长老生长谈的事情&#xff0c;但是对于新手做seo的站长们&#xff0c;可能就不是那么清楚了它的作用到底对网站有哪些了。往下看&#xff01; 一、友情链接&#xff0c;分为两种 1、双向友情链接&#xff1a;意思就是相互之间互相做链接&…

Gihub网站打不开怎么办

github打不开时&#xff1a; 1、通过IPAddress工具找出它的IP地址&#xff1a; 2、修改host文件&#xff08;windows路径&#xff1a;C:\Windows\System32\drivers\etc&#xff09;,添加以下内容 # github 140.82.112.4 github.com 140.82.112.4 gist.github.com 140.82.1…

javascript之jQuery 打造个性网站

文件结构 网页结构 头部:放LOGO,通往各个页面的链接 内容:放置页面的主体内容 底部:放置页面其他链接和版权信息 [html] view plain copy <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra…

在自己的电脑上搭建服务器,发布自己的网站(学习之用)

我们平常学习时经常会写一下javaweb程序&#xff0c;我们为了更能逼近现实&#xff0c;就想着自己的javaweb程序发布后&#xff0c;外网的同学能够访问我们的网站&#xff0c;难道我们去买空间&#xff0c;去买域名嘛&#xff0c;其实也没必要&#xff0c;我们只是学习&#xf…