以前我做开发的时候也就用相对路径的
但是后来因为在用ascx的时候当为图片或链接的时候
因为这个ascx可能是放在不同的文件夹层
这个时候就会引成了路径不对的问题
后来我就把所有的图片和所有的地址都用"/Images" "/News/"
这种形式来写了
但这时突然要我的这个网站变成了子目录
那我的写法就全不行了是不是aspx用想对路径 ascx用绝对路径???
但是后来因为在用ascx的时候当为图片或链接的时候
因为这个ascx可能是放在不同的文件夹层
这个时候就会引成了路径不对的问题
后来我就把所有的图片和所有的地址都用"/Images" "/News/"
这种形式来写了
但这时突然要我的这个网站变成了子目录
那我的写法就全不行了是不是aspx用想对路径 ascx用绝对路径???
{
private string _ImageUrl;
public string ImageUrl
{
get
{
return _ImageUrl;
}
set
{
_ImageUrl = value;
}
}
protected override void Render(HtmlTextWriter output)
{
Image myImage = new Image();
// Resolve Url.
myImage.ImageUrl = ResolveUrl(this.ImageUrl);
myImage.RenderControl(output);
}
}
string relativeUrl
)
参数
relativeUrl
与 TemplateSourceDirectory 属性相关联的 URL。 返回值
转换后的 URL。 如果 relativeUrl 参数包含绝对 URL,则该 URL 原样返回。如果 relativeUrl 参数包含相对 URL,则该 URL 将更改为与当前请求路径相符的相对 URL,这样浏览器便能够解析该 URL。例如,请考虑以下方案: 客户端已请求了一个 ASP.NET 页,该页含有一个用户控件,该用户控件有一个关联的图像。ASP.NET 页位于 /Store/page1.aspx。用户控件位于 /Store/UserControls/UC1.ascx。图像文件位于 /UserControls/Images/Image1.jpg。如果用户控件将图像的相对路径(即 /Store/UserControls/Images/Image1.jpg)传递给 ResolveUrl 方法,此方法将返回值 /Images/Image1.jpg。此方法使用 TemplateSourceDirectory 属性解析为绝对 URL。返回的 URL 适用于客户端。