根据不同ID循环读出不同名称

madelaop5566 2010-10-06 08:53:14
前台代码


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WHDMT.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<link href="Prod_Images/css/table.css" type="text/css" rel="stylesheet" />
<link href="Prod_Images/css/font.css" type="text/css" rel="stylesheet" />
<script language="javascript" src="Prod_Images/js/Menu.js" type="text/javascript"></script>


</head>
<body>

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%#Eval("iId")%>'></asp:Label>              <%#Eval("cPicname")%><br></ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate><%#Eval("cPicfile")%><asp:Image ID="Image1" ImageUrl='<%#Page.ResolveUrl("~"+Eval("cPicfile"))%>' Height="100" Width="100" runat="server" />
</ItemTemplate>
</asp:Repeater>
</body>
</html>



后台代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BLL;
using Model;
using IEAA;

namespace WHDMT
{
public partial class WebForm1 : Page
{
protected void Page_Load(object sender, EventArgs e)
{
pic_name_tbl ms = new pic_name_tbl();//读取图片ID并绑定到lable1中
Repeater1.DataSource = ms.SelectPicAndname();
Repeater1.DataBind();

int bb=0;

foreach (RepeaterItem item in this.Repeater1.Items)
{
Label aa = item.FindControl("Label1") as Label;
bb = Convert.ToInt32(aa.Text);

pic_file_tbl md = new pic_file_tbl(); //根据lable1的值读取不同的图片
Repeater2.DataSource = md.SelectPicAndName(bb);
Repeater2.DataBind();

}

}
}
}





现在问题是读出来的图片只有最后一张的,其它的读不出来@
可是ID确实是repeater1全部读的出来的 ,郁闷
...全文
165 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
madelaop5566 2010-10-22
  • 打赏
  • 举报
回复
自己解决了。。。
神码浮云 2010-10-07
  • 打赏
  • 举报
回复
路过, 学习 ..
huangwenquan123 2010-10-07
  • 打赏
  • 举报
回复
两张表连接!用一个Repeater就可以了!
肄若芸 2010-10-07
  • 打赏
  • 举报
回复
...repeater还不如直接输出HTML,而且容易控制。

  • 打赏
  • 举报
回复
不然其它一些列关于数据状态方面的bug --> 不然其它一系列关于数据状态方面的bug

且不说是否值得写这么多代码,你去遍历repeater1的items时为什么要不断重新绑定repeater2?刚绑定完就重新绑定,不断重复几十次,什么意思?
  • 打赏
  • 举报
回复
一看你的page_load代码逻辑没有 “if(!IsPostback)” 判断就懒的看其它的了。每一次回发都读取数据并绑定 Repeater 吗?这样你的程序岂不是比蜗牛还慢,而且也会(在数据库被其它用户修改时)在page_load时出现控件在服务器加载错误(例如会报告你某ID控件的类型错误这种崩溃性异常)!

这个都错误,别的就别写了。先搞对asp.net控件机制,不然其它一些列关于数据状态方面的bug都没法解决。
wyb392440738 2010-10-06
  • 打赏
  • 举报
回复
貌似被前一个覆盖了,所以才能显示出最后一张图片吧
koukoujiayi 2010-10-06
  • 打赏
  • 举报
回复
select * from 表一 join 表二 on 表一.cId=表二.cId
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
select * from 表二 where cId in (select cId from 表一)
madelaop5566 2010-10-06
  • 打赏
  • 举报
回复
也就是现在读取了表一的cId

Repeater2根据读取出来的cId读取像对应的Picurl
madelaop5566 2010-10-06
  • 打赏
  • 举报
回复
表一

id cId NAME
1 01 生活
2 02 中秋
3 03 国庆



表二
id cid Picurl
1 01 image/aa.jpg
2 01 image/bb.jpg
3 01 image/cc.jpg
4 02 image/ee.jpg
5 03 image/22.jpg
6 03 image/33.jpg

koukoujiayi 2010-10-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 madelaop5566 的回复:]
关键这个两张表啊 。。

我根据表一名称得ID 找到对应表二里存储的多张图片
[/Quote]
把两张表的结构贴出来看看!
koukoujiayi 2010-10-06
  • 打赏
  • 举报
回复
你这样不行的!
Repeater1完全可以直接显示图片,为何还用Repeater2??
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
select * from tb where id in (select id from tb2)
madelaop5566 2010-10-06
  • 打赏
  • 举报
回复
关键这个两张表啊 。。

我根据表一名称得ID 找到对应表二里存储的多张图片
wuyq11 2010-10-06
  • 打赏
  • 举报
回复
Repeater2显示是最后的ID对应的图片
使用一个repeater绑定ID和图片
或根据ID字符串查询图片再绑定到Repeater2

62,271

社区成员

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

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

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

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