当前位置:编程学习 > C#/ASP.NET >>

Repeater 嵌套 问题 求解


    <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
            <tr>
                <td>
                    <asp:Label ID="id" runat="server" Text='<%# Eval("aaa")%>'></asp:Label>
                    <asp:Repeater ID="Repeater2" runat="server">
                        <ItemTemplate>
                            <asp:Button ID="Button1" runat="server" Text="Button" />
                            <%# Eval("bbb")%>
                        </ItemTemplate>
                    </asp:Repeater>
                </td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>


我想在点button按钮的时候获取Label中的text内容 数据全都是绑定出来的
求解  谢谢了。。。 --------------------编程问答-------------------- 路过,不会啊… --------------------编程问答-------------------- 我给你个思路,就是 你通过第一层的 repeater 找 嵌套的 repeater 然后 通过这个对象去找你要的东西就行了! --------------------编程问答-------------------- 可以像gridview那样,点击按钮时获取当前的行,然后通过Findcontrol找到lable --------------------编程问答--------------------
引用 3 楼 a550585206 的回复:
可以像gridview那样,点击按钮时获取当前的行,然后通过Findcontrol找到lable
差不多吧! --------------------编程问答-------------------- 大概大概

<asp:Button ID="Button1" runat="server" Text="Button" onclick="GetContent" />


protect void GetContent(object sender, EventArgs e)
{
  string id=id.Text;
}
--------------------编程问答-------------------- 3 4 5 楼回答的都差不多 都是根据内层的获取外层的  但是这个方法我试了  是不行的 我在网上也找了很多这方面的  但是都不行。。。  
求解啊。。。 --------------------编程问答--------------------

private void Button1_Click(object sender, System.EventArgs e){
RepeaterItem item = (sender as Button).Parent.NamingContainer as RepeaterItem;
Label lbl = item.FindControl("id") as Label;
Response.Write(lbl.Text);
}

private void Repeater1_ItemCreated(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) {
if(e.Item.ItemType == ListItemType.Item){
(e.Item.FindControl("Button1") as Button ).Click += new System.EventHandler(Button1_Click);
}
}
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,