在根目录和子目录下显示同一张图片

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:59:23
在数据库中保存了一张图片,存的相对路径,如:“../news/20070903083115.jpg”,
现在的问题是在子目录下的news.aspx页面中能正确显示图片,在根目录下的index.aspx页面中不能显示,因为路径不正确,有没有解决的办法啦,在根目录和子目录的页面中都能显示。
我想到的是修改index.aspx页面,在显示图片之前修改路径,但是不知到怎么修改。
平台:VS.NET2003
语言:C#
index.aspx在web项目下;news.aspx在web下的cn文件夹里
显示图片的方法:
ImageUrl='<%#DataBinder.Eval(Container.DataItem,"path")%>'

用下面的语句把不要的截取掉:
ImageUrl='<%#DataBinder.Eval(Container.DataItem,"path").SubString()%>'
或是建一个方法:liu()把不要的截取掉;调用方法:
ImageUrl='<%#liu(DataBinder.Eval(Container.DataItem,"path"))%>'
好像是这样调用,如果不是你查一下;总之方法很!
例如:
前台代码 <%#DataBinder.Eval(Container.DataItem,"path")%>
修改为
<%#liu(DataBinder.Eval(Container.DataItem,"path"))%>
后台代码
protected string liu(object s)
{
return s.ToString().SubString(0,8);
}

index页面对图片路径做些处理

string a = "../news/111.jpg";
int i = a.LastIndexOf("/");
string b = "news"+a.Substring(i);
Response.Write(b.ToString());

保存的时候换一种方式把

存成这种的“:“~/news/20070903083115.jpg”

~表示程序根路径

显示的时候,用Image控件绑定这个值,就可以了,net系统会自动将其转换成合适的路径的

建议只保存文件名
在不同的文件夹里调用再加相应的路径

如果你建的是站点的话,饮用时直接用"/news/20070903083115.jp