首页 > 代码库 > 【ASP.Net】什么!Repeater里面还有个Repeater?!

【ASP.Net】什么!Repeater里面还有个Repeater?!

我就贴核心代码,这个项目因为我正在帮人家做,所以暂时不能公开太多源码
 
(如果真想要源码的话,等我10月底帮他把项目提升到三层时再公开现在这1.0版本的源码吧~)

 

 
先说下我的目的:根据Repeter1中的id,嵌套查询Repeter内部的值(没办法,我数据库就是用三层设计的,所以代码就。。。)
 
 直接贴核心源码(其实代码多了反而干扰视线
 
 1.先给Repeater1注册Repeater1_ItemDataBound 事件 
<asp:Repeater ID="Repeater1" runat="server"  OnItemDataBound="Repeater1_ItemDataBound">
 
<ItemTemplate>
    .............
    
    <asp:TextBox ID="Tbl_SayId" runat="server" Text=‘<%#Eval("Tbl_SayId") %>‘ Visible="False"></asp:TextBox>
    ..............
    
    <asp:Repeater ID="Repeater2" runat="server">
    
    <ItemTemplate>
    
    ...............
    
    </ItemTemplate>
    
    <AlternatingItemTemplate>
    
    ...............
    
    </AlternatingItemTemplate>
    
    </asp:Repeater>
    
</ItemTemplate>
 
</asp:Repeater>
 
想下目的?TextBox我来干什么的?~思考下。。。~~~~(隐藏,为了后面的或值)

        如果在后台中直接访问肯定访问不到Repeater2,必须通过Repeater1来间接访问才行,而且用配置ObjectDataSource的方法也行不通(我控件用的不是很熟),所以对于Repeater2我就手敲代码了,下面看看后台代码:
 
 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        Repeater r2 = (Repeater)e.Item.FindControl("Repeater2"); //获取到Repeater2
        TextBox txtid = (TextBox)e.Item.FindControl("Tbl_SayId"); //获取到你需要的值
        DataTable dt = Say.GetReSays(txtid.Text); //根据你的值查询,然后把结果返回(Say是我定义的一个临时工具类)
        r2.DataSource = dt; //制定Repeater2的数据来源
        r2.DataBind(); //绑定一下
    }
简单吧~其实不想透的话还是很浪费时间的。。。献上妹子一枚,放松下心情~哈哈哈,闪~
  


图片 
 

学校网速太垃圾了。。。我都想走读了

 

【ASP.Net】什么!Repeater里面还有个Repeater?!