我就贴核心代码,这个项目因为我正在帮人家做,所以暂时不能公开太多源码
(如果真想要源码的话,等我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(); //绑定一下
}
简单吧~其实不想透的话还是很浪费时间的。。。献上妹子一枚,放松下心情~哈哈哈,闪~
学校网速太垃圾了。。。我都想走读了