AspNet 路径问题

一、从根目录获取图片路径
<img src='<%= ResolveUrl("~/images/login.gif") %>' alt="" />
'<%= ResolveUrl("~/images/")%><%#Eval("XX") %>'
 
二、从根目录获取a链接路径
<a href='<%=ResolveClientUrl("~/XX/XX/XX.aspx") %>?XX=<%#Eval("XX")%>'></a>
                     
三、从根目录获取Js路径(不知道为什么不能放在content的head内)                
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
      <script type="text/javascript" src="<%=ResolveClientUrl("~/js/JScript1.js") %>"></script>
</head>

四、后台 获取程序上的虚拟目录的根路径                
/// <summary>
/// 获取程序上的虚拟目录的根路径
/// </summary>
public static string ApplicationPath
{
    get
    {
        string applicationPath = HttpContext.Current.Request.ApplicationPath;
        return ("/" == applicationPath) ? string.Empty : applicationPath;
    }
}
//调用
var str = ApplicationPath + "/images/";

五、需求:项目一需要使用项目二图片文件夹的图片

步骤:

一、将项目一和项目二均在IIS上建立虚拟目录

二、在项目一根目录新建虚拟目录,别名为img,路径定位到项目二的images图片文件夹

三、项目一图片控件路径设置

 <img src='<%= ResolveUrl("~/img/01.png")%>' title="01.png" height="100px"

            width="100px" />

四、VS中移除项目一,然后添加现有网站(从本地IIS选择项目一)即可

 

 

六、拼接字符串的路径问题

    拼接字符串时不宜使用ResolveClientUrl,可以用string.Format("<a href='{0}'", ApplicationPath + "/" + itemChild["Url"].ToString()))拼接

七、Css绝对路径

  <link href="<%=ResolveClientUrl("~/greybox/gb_styles.css") %>" rel="stylesheet" type="text/css" />

原文地址:https://www.cnblogs.com/gossip/p/2179682.html