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" />