【问题标题】:What is the best way to get a path relative to the current address?获取相对于当前地址的路径的最佳方法是什么?
【发布时间】:2011-01-08 05:05:38
【问题描述】:

假设我有一个位于~/Resources/R1.png 的资源 此资源的相对 URL 会因当前地址而异。

例如:
如果我在www.foo.com/A/B/C/D.aspx并且www.foo.com/A是包含虚拟目录的根路径,那么相对于~/Resources/R1.png当前地址的路径是../../../Resources/R1.png

我怎样才能得到这个相对路径?

编辑:

我想要一个可以在网页中使用的网络路径,而不是服务器路径。

【问题讨论】:

  • 我赶着离开办公室,只是给出想法,你怎么能做到这一点,但你是对的。

标签: .net asp.net relative-path


【解决方案1】:

ResolveUrl("~/Resources/R1.png")

其中 '~' 用于表示当前页面/控件所在的应用程序的根目录。

或者,如果资源在当前应用程序外部,但仍位于虚拟目录层次结构中,则可以使用 ResolveUrl("/Resources/R1.png")

【讨论】:

  • 好吧,它不会转换为 ../../xx 形式。而是转换为浏览器可以解释的 /xx 形式。
  • 如果需要,您可以随时使用 ResolveClientUrl("~/Resources/R1.png") 获取 ../../xxx 表单。
【解决方案2】:
string path = Request.ApplicationPath + "/Resources/R1.png";

【讨论】:

    【解决方案3】:

    获取虚拟路径:

    Request.Path
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-03
      • 2014-03-03
      • 2010-09-08
      • 2011-10-26
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      相关资源
      最近更新 更多