关于一篇文章有多张图片的问题

jckzhang 2009-05-13 03:54:11
我在网站后台上传图片文件后,将图片的路径写入后台数据库中,如:~\upload\1.jpg,~\upload\2.jpg,这样的格式。请问如果要在前台显示这些图片,前台图片连接代码该如何写?谢谢
...全文
156 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangmei123 2009-05-15
  • 打赏
  • 举报
回复
大约可以如下:
在前台要显示图片的地方放一个 <div id="DIV1" runat="server">

string path=数据库里读出来的路径字符串;
string[] paths=path.split(',');
for(int i=0;i<paths.Count;i++)
{
Image img=new Image();
img.ImageUrl=paths[i];
DIV1.Controls.Add(img);
}

che2piaopiao 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jckzhang 的回复:]
string[] sArray = str.Split(',');
我的图片路径都放到sArray这个字符串组里了
我就是不知道怎么用for循环来显示图片
[/Quote]


为什么非要用for? 参考这个

foreach (DataListItem dl in DataList1.Items)
{
DropDownList ddl = (DropDownList)dl.FindControl("DropDownList1");
DropDownList ddl2 = (DropDownList)dl.FindControl("DropDownList2");
ddl.DataSource = SupplyTimestr.Dtimestr.Split(',');
ddl.DataBind();
ddl2.DataSource = SupplyTimestr.Dtimestr.Split(',');
ddl2.DataBind();
}
jckzhang 2009-05-14
  • 打赏
  • 举报
回复
string[] sArray = str.Split(',');
我的图片路径都放到sArray这个字符串组里了
我就是不知道怎么用for循环来显示图片
jckzhang 2009-05-14
  • 打赏
  • 举报
回复
我的意思是for 循环应该放在哪里?
che2piaopiao 2009-05-14
  • 打赏
  • 举报
回复
在前台建一个页面 先用image控件指定一个上传的图片路径。

然后你知道路径后,再通过字符串处理, 处理为正确的路径。

显示的话, 9楼方法不错
jckzhang 2009-05-14
  • 打赏
  • 举报
回复
难道不用for循环吗?
hj5632 2009-05-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dugupiaoyun 的回复:]
后台代码:
C# codeprotectedstringGetUrl(stringpath)
{
path=path.Replace("~","");stringurl=@"http://"+HttpContext.Current.Request.Url.Host;if(HttpContext.Current.Request.Url.IsLoopback)
url+=":"+HttpContext.Current.Request.Url.Port;if(HttpContext.Current.Request.ApplicationPath=="/")
{returnurl+path;
}else{returnurl+HttpContext.Current.Request.ApplicationP…
[/Quote]
支持
bl_song 2009-05-14
  • 打赏
  • 举报
回复
支持这个观点[Quote=引用 10 楼 dugupiaoyun 的回复:]
把你的:~\upload\1.jpg,~\upload\2.jpg这些格式的内容,通过分号split为数组,然后把这个数组设置为它绑定的数据集就可以用了。
[/Quote]
dugupiaoyun 2009-05-14
  • 打赏
  • 举报
回复
把你的:~\upload\1.jpg,~\upload\2.jpg这些格式的内容,通过分号split为数组,然后把这个数组设置为它绑定的数据集就可以用了。
dugupiaoyun 2009-05-14
  • 打赏
  • 举报
回复
后台代码:

protected string GetUrl(string path)
{
path = path.Replace("~", "");
string url = @"http://" + HttpContext.Current.Request.Url.Host;
if (HttpContext.Current.Request.Url.IsLoopback)
url += ":" + HttpContext.Current.Request.Url.Port;
if (HttpContext.Current.Request.ApplicationPath == "/")
{
return url + path;
}
else
{
return url + HttpContext.Current.Request.ApplicationPath + path;
}
}


前台调用:

<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<img src = '<%#GetUrl(Eval("imgPath").ToString())%>' />
</ItemTemplate>
</asp:DataList>

jckzhang 2009-05-14
  • 打赏
  • 举报
回复
能否写一下详细的代码,谢谢
saisky 2009-05-14
  • 打赏
  • 举报
回复
string[] ImgArr = ImgPaths.split(',');
循环ImgArr并动态创建图片
jckzhang 2009-05-14
  • 打赏
  • 举报
回复

try
{
string newsId = Request.QueryString["Photo_NewsId"] == null ? "" : Request.QueryString["Photo_NewsId"];
if (newsId != "")
{
photo.Photo_NewsId = Convert.ToString(newsId);
//photo.Bind_News();
photo.Bind_Newsbrow();
this.lab_title.Text = photo.Photo_Title;
this.lab_date.Text = Convert.ToDateTime(photo.NewsDate).ToString();
DataList1.DataSource = photo.Bind_Newsbrow().DefaultView;
DataList1.DataBind();
DataList1.DataKeyField = photo.Photo_NewsId;
string str = photo.Photo_Url;
string[] sArray = str.Split(',');
}
}
catch (Exception ex)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "error", "<script>alert('"+ex.Message+"')</script>");
}



<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<div id="img" style="text-align:center;"><asp:Image ID="Image1" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "Photo_Url").ToString() %>' /></div>
<asp:Literal ID="Literal1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Photo_Content").ToString() %>'></asp:Literal>
</ItemTemplate>
</asp:DataList>


这个是.cs后台代码,请问如何把每个图片地址和前台图片显示控件进行绑定啊?
zhulong1111 2009-05-13
  • 打赏
  • 举报
回复
用 字符串截取撒 遇到逗号就截取来赋给图片路径属性就Ok了
jckzhang 2009-05-13
  • 打赏
  • 举报
回复
哦,谢谢,我试试
jiangzhe556 2009-05-13
  • 打赏
  • 举报
回复
string s="~\upload\1.jpg,~\upload\2.jpg";
string[] sArray=s.Split(,) ;
这样每个地址都分开了,你可以用循环取出来.就行了,
jckzhang 2009-05-13
  • 打赏
  • 举报
回复
每个图片的地址中间是以逗号分隔的
gyouyang 2009-05-13
  • 打赏
  • 举报
回复
板凳

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧