Asp.net网站路径

news/2024/5/9 22:13:39/文章来源:https://blog.csdn.net/weixin_33744141/article/details/85370313

使用网站中的资源时,通常必须指定资源的路径。例如,您可以使用 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
复制代码
Dim rootPath As String = Server.MapPath("~")
C#
复制代码
String rootPath = Server.MapPath("~");
Note注意

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

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

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

相关文章

网站迁移的方法

1. 备份数据库 登录网站管理平台&#xff0c;在“扩展”菜单下的“数据库工具”栏中的“请选择数据链接池”区域中选择在使用的数据链接池&#xff0c;这时在下面会显示相应的表单文件名&#xff0c;全部选择后单击“开始备份数据”&#xff0c;备份完成后会弹出“备份成功”的…

Wss3入门(1):一步一步使用Windows SharePoint Service 3.0搭建Blog网站

开篇 Windows SharePoint Service 3.0内建了Blog模板&#xff0c;所以有些TX看到这个标题肯定觉得比较奇怪&#xff0c;认为Wss3只要一步就可以建好Blog网站了&#xff0c;没有什么好说的。其实&#xff0c;还是有些东西要修修改改的&#xff0c;一些东西的默认设置并不是我们…

网页设计期末大作业-音乐电影网站

网页设计期末大作业-音乐电影网站 &#xff08;下载链接在末尾&#xff09; 点我下载资源

前端期末大作业-html/css-视频音乐网站

前端期末大作业-html/css-视频音乐网站 点我下载资源

网页设计前端期末作业-课设-大学娱乐网站

网页设计前端期末作业-课设-大学娱乐网站 网站如下图所示&#xff1a;&#xff08;资源链接在文末&#xff09; 点我下载资源

网页设计前端期末作业-二手车教育网站(附下载链接)

网页设计前端期末作业-二手车教育网站 点我下载资源

网页设计课设-冰雪奇元店影相关内容网站

网页设计课设-冰雪奇元店影相关内容网站 点我下载资源

网页设计大作业-电器售卖网站

网页设计大作业-电器售卖网站 点我下载资源

商城网站-网页设计大作业

商城网站-网页设计大作业 网站有导航栏&#xff0c;注册登录功能&#xff0c;轮播图&#xff0c;各种商品标签等等&#xff0c;详细情况请看下图&#xff1a; &#xff08;资源链接在文末&#xff09; 点我下载资源

网页设计网站框架-用于制作前端大作业

网页设计网站框架-用于制作前端大作业 若干个网站框架&#xff0c;首页的框架已经弄好&#xff08;导航栏&#xff0c;轮播图等等&#xff09;&#xff0c;只要自己链接就可以&#xff0c;适合用于期末大作业&#xff0c;详细情况请看下图所示&#xff1a;&#xff08;点我下载…

使用WebDeployment Project改善VS2005发布网站问题 (三) 常见问题

一、发布后网站浏览时出现乱码(http://www.cnblogs.com/chy710)如果页面编码是gb2312&#xff0c;可能会有此问题&#xff0c;请使用utf-8编码&#xff0c;vs2005中打开页面切换到HTML视图&#xff0c;选择[文件] / [高级保存选项],选择utf-8,保存&#xff0c;OK。二、发现不明…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

网页设计期末大作业-我得世界游戏网站(免积分下载)

网页设计期末大作业-我得世界游戏网站&#xff08;免积分下载&#xff09; 包含下拉导航栏&#xff0c;轮播图&#xff0c;注册登录&#xff0c;作业文档等等&#xff0c;适合初学者学习使用&#xff0c;如下图&#xff1a; 点我下载资源 点我下载资源

网页设计期末作业-江南展网站

网页设计期末作业-江南展网站 点我下载资源 有导航栏&#xff0c;轮播图&#xff0c;搜索栏&#xff0c;注册登录功能等等&#xff0c;适合初学者学习使用&#xff0c;详细情况请看下图&#xff1a; 点我下载资源

网页设计,前端大作业-个人主页网站

个人主页网站&#xff08;下载链接在文末&#xff09;&#xff0c;个人介绍&#xff0c;比较简单的一个网站适合初学者学习使用 点我下载

文学网站,HTML大作业,前端大作业,

网页设计大作业-文学网站&#xff08;下载链接在文末&#xff09; 点我下载 https://download.csdn.net/download/weixin_43474701/34668643

网页设计大作业 个人主页网站

个人主页网站 详情如下图&#xff1a;&#xff08;下载链接在文末&#xff09; 点我下载资源 https://download.csdn.net/download/weixin_43474701/60341820

网页设计大作业 卖红酒网站

卖红酒网站 详情如下图&#xff08;下载链接在文末&#xff09; 点我下载链接 https://download.csdn.net/download/weixin_43474701/60348862

游戏介绍网站-网页设计期末结课作业

一个游戏介绍网站-附资源链接 资源下载链接 介绍 是一个用来介绍个人游戏的主页&#xff0c;适用于移动和PC端&#xff0c;是本人一个前端期末结课作业 软件架构 html css javascript jquery vue 安装教程 无需安装&#xff0c;直接打开即可 使用说明 点击导航栏即可浏览…

一键在ECShop加上手机版android和ios应用 不影响原网站 所有数据取自网站,自动同步到手机端

网址必须为英文&#xff0c;如果是中文&#xff0c;可以再绑一个英文域名。 网址 http://6.supermindsoft.com 后台 http://6.supermindsoft.com/admin 用户密码都是admin1231.ecmobile php到根目录2.修改地址 主工程EcmobileMainActivity -> src -> com.insthub.e…