ASP.NET 网站路径

news/2024/5/20 13:55:15/文章来源:https://blog.csdn.net/weixin_30696427/article/details/94841725
ASP.NET 网站路径

使用网站中的资源时,通常必须指定资源的路径。例如,您可以使用 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 方法的路径必须为应用程序相对路径,而不是绝对路径。

posted on 2007-04-21 10:30 zwgood 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/zw0736/archive/2007/04/21/721925.html

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

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

相关文章

nginx 伪静态_Apache服务器网站伪静态设置方法

今天我们来讲解一下apache服务器下网站伪静态的设置方法&#xff0c;在讲解之前我先纠正大家一个错误认知&#xff0c;很多seo新手总是在百度中搜索“网站伪静态怎么做”之类的词语&#xff0c;这样搜索是不对的。因为网站使用的web服务软件(apache、iis6.0、iis7.5、nginx等)不…

java与seo_seo和Java那个更好呢?适合你的最重要

原标题&#xff1a;seo和Java那个更好呢&#xff1f;适合你的最重要一个seo行业站点&#xff0c;科学的内容制作应该与seo相关&#xff0c;且内容本身是有人搜索的。seo和java哪个更好是有人搜索的语句&#xff0c;且与seo是强相关的&#xff0c;对于seo教程自学网来讲&#xf…

Linux系列-Red Hat5平台下的LAMP网站服务搭建(三)

Linux系列-Red Hat5平台下的LAMP网站服务搭建&#xff08;三&#xff09;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />MySQL数据库的安装、启动&构建PHP环境上次咱们看到了LAMP网站服务&#xff08;二&#xff09;使用aw…

vs2005 自带网站压力测试 (vsts)

&#xff08;转http://www.cnblogs.com/Ring1981/archive/2007/05/15/745533.html&#xff09; VSTS提供了一个丰富、强大的工具平台&#xff0c;融合了软件开发领域的各个角色&#xff0c;涵盖软件开发生命周期的各个阶段&#xff0c;包括设计&#xff0c;开发&#xff0c;测试…

Mac电脑 阿里云ECS(ContentOS) Apache+vsftpd+nodejs+mongodb建站过程总结

简介&#xff1a;我这里采用的阿里云免费提供的6个月ECS服务器&#xff1b;制作了一个简单的爬虫程序&#xff1b;里面很多功能还么做&#xff1b;搜索里面功能回去的数据未做处理会崩溃&#xff08;大家不要点搜索功能&#xff09;&#xff1b;地址&#xff1a;http://loldrag…

创建一个网站需要服务器吗,自己创建网站需要什么条件,有什么步骤?

自己创建网站需要什么条件&#xff0c;有什么步骤?我们应该都对创建网站很感兴趣&#xff0c;但是不知道创建网站要准备什么&#xff0c;步骤怎么走?下面小编就来告诉你一下。一、选购域名什么叫域名呢?假如想要做一个自身的网站&#xff0c;选购一个自身喜爱的域名便是大家…

使用Mcafee打造安全网站以及系统(上)

为了让服务器更安全&#xff0c;不如提取&#xff0c;后门等程序的运行&#xff0c;下面的设置对于服务器来说是非常必要。 1.、服务器系统盘设置&#xff0c;防止一些***将程序安装在C盘中&#xff0c;别的盘。按下面的设置&#xff0c;基本上动不了东西。获取系统权限除外。 …

洛奇今天突然与服务器连接中断,《洛奇Mabinogi》官方网站

在这炎热而又难得放松的暑假期间&#xff0c;玩家们用他们的实际行动证明了他们对超人气漫画网游《洛奇》所饱含的无尽热爱之情。我们原准备的6组《洛奇》公测服务器根本抵挡不住玩家们如火般的体验热情&#xff0c;为了让玩家们能享受宽松的游戏环境&#xff0c;7月24日世纪天…

一起动手实现Windows服务程序(监控网站是否能访问)

阅读全文下载例子&#xff1a;http://www.cckan.net/forum.php?modviewthread&tid389 什么是Windows服务程序员&#xff1f; C# Windows服务程序开发之前要明白什么是Windows服务&#xff0c;Windows Service&#xff0c;也称Windows服务&#xff0c;是32位Windows操作系统…

[转]22 个精美的网站管理后台模板推荐

互联网上有大量的关于如何设计网站的教程&#xff0c;可以使你的工作更加容易和简单。但关于网站管理后台的教程却比较少。今天&#xff0c;我们提供一些非常强大的管理面板&#xff0c;可以帮助开发者设计网站的后台部分&#xff0c;另外&#xff0c;漂亮的后台也可以使工作变…

网站安全专家——安全宝

前几天就看到说创新工场旗下开发了针对网站的“安全宝”&#xff0c;游侠就去注册了个帐号。&#xff08;www.anquanbao.com&#xff0c;有网站的朋友可以去注册&#xff09;&#xff0c;昨天把youxia.org的解析服务器改成了安全宝的&#xff1a;ns1.anquanbao.com和ns2.anquan…

Shell 定时发送邮件检查网站脚本/邮件正文

#!/bin/bash ############################################################## # File Name: check_http.sh # Version: V1.0 # Author: nod # Description:sh check_http.sh www.baidu.com ############################################################## #通过curl确认网址…

SEO笔记(二)--URL优化

1.URL简介 URL&#xff08;Uniform Resource Locator&#xff0c;统一资源定位器&#xff09;是页面的网址&#xff0c;通过URL才能访问具体的网页。URL优化时网站的六大重要环节之一&#xff0c;在决定页面相关性中有重要作用&#xff0c;而且会直接影响到收索引擎对页面的收录…

Java查询网站使用的服务器软件

需要电脑上装有jre 或jdk &#xff0c;可以双击运行&#xff0c;如果不行也可以在cmd窗口中输入java -jar server1.0文件所在路径\server1.0.jar&#xff0c;输入网站的一个URL地址即可查询&#xff1b;不过发现对新浪&#xff0c;javaeye 几个网站反应特别慢&#xff0c;不知怎…

一个网站的诞生- MagicDict开发总结7 [Excel 是我的好朋友]

可能由于长期从事对日软件的开发&#xff0c;Excel不知不觉已经成为开发工作的一个不可或缺的软件。从某种意义上说&#xff0c;Office等于Excel了。在整个网站的开发中&#xff0c;数据的整理基本上是Excel表格为基础的&#xff0c;庞大的数据放在Excel里面进行编辑。对于一些…

php网站 怎么查是否开源,怎么查看网站的开源程序?

怎么查看网站的开源程序?在这之前&#xff0c;我们首先应该确保自己了解有哪些常见网站程序可直接拿来用?每一种开源程序只要没有被深度二次开发&#xff0c;它的固有特征就总能被找出来。接下来就看小编的分析&#xff1a;一、WordPress博客系统网站特征&#xff1a;1、查看…

那些著名网站的90年代(转)

它们都是显赫一时的品牌&#xff0c;Smashing Apps 几个月前曾发过一篇文章&#xff0c;介绍27个著名品牌的网站 &#xff0c;它们引领当今 Web 设计风潮&#xff0c;然而&#xff0c;从没有哪个领域象 Web 设计这样&#xff0c;10年便恍若隔世&#xff0c;本文搜集一些著名品牌…

分享到各种热门网站的html代码实现

悬浮 效果&#xff1a; 代码&#xff1a; <span style"display: none;"> <script type"text/javascript"> var _bdhmProtocol (("https:" document.location.protocol) ? " https://" : " http://"); do…

EmbarrassedBird网站

试想现在有如下情景 (情景1) 你写了一封情书准备给心中暗恋很久很久的小Z同学, 我们假设, 你提起来超级无敌巨大的勇气把情书直接交给了小Z, 现在有两种情况 a. 小Z也喜欢你, 欢乐大结局! b. 小Z并不喜欢你, 而且一般情况下, 她可能不知道怎么去拒绝你, 她如果直接拒绝你会令双…

5g网站服务器宽带,别装有线宽带了,5G以后,有线宽带将被淘汰

原标题&#xff1a;别装有线宽带了&#xff0c;5G以后&#xff0c;有线宽带将被淘汰不久前&#xff0c;一个名为M-Lab 的国际宽带联盟发布了其根据实际监测点数据进行分析的全球各国平均宽带速度报告&#xff0c;其中让国人感到尴尬的是——中国大陆的宽带平均下载速度仅为2.38…