repeater嵌套2个repeater 如何相互操作

repeater嵌套  时间:2021-06-13  阅读:()

Repeater嵌套循环出来的数据怎么是重复的,应该怎么解决啊,上图

<table> <asp:Repeater ID="repPeople" runat="server"> <ItemTemplate> <tr> 人 </tr> <asp:Repeater ID="repLastWeekWork" runat="server"> <ItemTemplate> <tr> 上个星期工作 </tr> </ItemTemplate> </asp:Repeater> <tr> 人 </tr> <asp:Repeater ID="repThisWeekWork" runat="server"> <ItemTemplate> <tr> 本周工作 </tr> </ItemTemplate> </asp:Repeater> </ItemTemplate> </asp:Repeater> </table>

我个人来看,你这里需要在内部嵌套2个repeater,一个用来绑定上周工作情况,一个用来绑定本周工作情况。

而最外层的repeater的数据源是List<People>,然后根据People.ID传递到上周工作情况表,与本周工作情况表中。

查询数据,绑定给嵌套的两个repeater

求.net里repeater嵌套使用的完整代码

把两个表的数据都读出来,建立两个表的关系 ds.Relation.Add(); 然后在父Repeater的ItemDataBind事件中找到子Repeater 在根据关系找到子Repeater对应的数据源,绑定上ok。

页面上: <asp:Repeater id="Repeater1" runat="server"> <HeaderTemplate> <table width="500"> <tr bgcolor=blue> <td>用户留言显示</td> </tr> </HeaderTemplate> <FooterTemplate> </table> </FooterTemplate> <ItemTemplate> <tr bgcolor=aaaaaa> <td>用户名:<%#DataBinder.Eval(Container.DataItem,"username")%></td> </tr> <tr> <td>用户留言的显示</td> </tr> <tr> <td><asp:Repeater id="Repeater2" runat="server"> <ItemTemplate> 留言信息<%#DataBinder.Eval(Container.DataItem,"content")%> </ItemTemplate> </asp:Repeater></td> </tr> </ItemTemplate> </asp:Repeater> cs代码: using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient; namespace AdoDotNet_Demo { /// <summary> /// RepeaterLink1 的摘要说明。

/// </summary> public class RepeaterLink1 : System.Web.UI.Page { protected System.Web.UI.WebControls.Repeater Repeater2; protected System.Web.UI.WebControls.Repeater Repeater1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) { string strconn = "server=.;uid=sa; pwd=;database=myweb"; SqlConnection conn = new SqlConnection(strconn); SqlDataAdapter da = new SqlDataAdapter("select * from userinfo",conn); DataSet ds = new DataSet(); da.Fill(ds,"user"); SqlDataAdapter da1 = new SqlDataAdapter("select * from content",conn); da1.Fill(ds,"content"); ds.Relations.Add("relation1",ds.Tables["user"].Columns["UserName"],ds.Tables["content"].Columns["UserName"]); Repeater1.DataSource = ds.Tables["user"]; Repeater1.DataBind(); } } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。

// InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。

/// </summary> private void InitializeComponent() { this.Repeater1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.Repeater1_ItemDataBound); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) { if(e.Item.ItemType == ListItemType.Item) { //repeater1行数据获得到 DataRowView drv = (DataRowView)e.Item.DataItem; DataView dv = drv.CreateChildView("relation1"); //根据行数据得到repeater2的数据源 //找到当前行中repeater2 System.Web.UI.WebControls.Repeater r = (System.Web.UI.WebControls.Repeater)e.Item.FindControl("Repeater2"); r.DataSource = dv; r.DataBind(); } } } }

2个repeater 如何相互操作

第2个repeater 根据第一1个repeater所点的菜单显示出子菜单 不用repeater 用AJAX 吧 使用repeater 先显示第一层的菜单,点击第一层的菜单触发JS脚本,该JS脚本运用AJAX技术调用服务器程序,返回所点菜单下的子菜单,通过DOM操作显示子菜单。

这个方法应该是目前最流行的。

具体AJAX的教程网上很多的。

还有方法,你可以写一个方法,参数为第一层菜单的ID 输出 子菜单的HTML 在第一个repeater中调用这个方法。

这个方法 我感觉是实现起来最简单的。

非要嵌套也可以 你在“知道”里面搜一下 “repeater嵌套”,很多的!

腾讯云轻量服务器老用户续费优惠和老用户复购活动

继阿里云服务商推出轻量服务器后,腾讯云这两年对于轻量服务器的推广力度还是比较大的。实际上对于我们大部分网友用户来说,轻量服务器对于我们网站和一般的业务来说是绝对够用的。反而有些时候轻量服务器的带宽比CVM云服务器够大,配置也够好,更有是价格也便宜,所以对于初期的网站业务来说轻量服务器是够用的。这几天UCLOUD优刻得香港服务器稳定性不佳,于是有网友也在考虑搬迁到腾讯云服务器商家,对于轻量服务器官方...

半月湾($59.99/年),升级带宽至200M起步 三网CN2 GIA线路

在前面的文章中就有介绍到半月湾Half Moon Bay Cloud服务商有提供洛杉矶DC5数据中心云服务器,这个堪比我们可能熟悉的某服务商,如果我们有用过的话会发现这个服务商的价格比较贵,而且一直缺货。这里,于是半月湾服务商看到机会来了,于是有新增同机房的CN2 GIA优化线路。在之前的文章中介绍到Half Moon Bay Cloud DC5机房且进行过测评。这次的变化是从原来基础的年付49....

欧路云:美国CUVIP线路10G防御,8折优惠,19元/月起

欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...

repeater嵌套为你推荐
virusscan为什么解压文件显示VirusScan 警报!不能解压!怎么回事怎么解决高手来人肉搜索引擎怎样使用人肉搜索引擎?搜索引擎的概念什么叫搜索引擎?搜索引擎的类型有哪些?数据挖掘项目将来想从事统计分析和数据挖掘,需要哪些技能qq网络硬盘怎么用qq网络硬盘数据统计分析表如何用Excel做数据分析?asp大马一句话木马中的大马和小马的作用各是什么?云计划云计划创富平台怎么样?有谁知道。介绍一下。云计划什么是云查杀,云计算和云计划的关系?什么是生态系统生态系统的功能有什么?
jsp虚拟空间 securitycenter BWH 国外bt 账号泄露 lighttpd 国外在线代理 台湾谷歌网址 双拼域名 申请个人网站 165邮箱 秒杀预告 paypal注册教程 申请免费空间和域名 谷歌台湾 万网主机 测速电信 空间申请 腾讯数据库 数据湾 更多