Repeater套嵌Repeater时,时面的Repeater取得外面的Repeater从数据库中取得的值

做到这样一个项目,要给客户显示两级资讯类别,那我就选择用Repeater里放再放一个Repeater,循环读出并显示两级的资讯类别名称,并通过链接里的BID和SID来将资讯类别的ID传递到新的页面里去。

可是碰到这样的一个问题:里面的Repeater取不到外边的Repeater取得的资讯类别名称。后来,实在是没办法了,用了一个笨办法,设了一定变量,用来存储这个ID值,代码如下:

正面:

<asp:Repeater ID="Re_Article_Type_List_B" runat="server" OnItemDataBound="Re_Article_Type_List_B_ItemDataBound">
                                       
                                            <ItemTemplate>
                 <tr>
                                                                        <td height="23">
                                                                            <div align="center">
                                                                                <img src="images/left.gif" width="10" height="10" /></div>                                                                        </td>
                                                                        <td height="23">
                                                                            <table width="95%" border="0" cellspacing="0" cellpadding="0">
                                                                                <tr>
                                                                                    <td height="20" style="cursor: hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "
                                                                                        οnmοuseοut="this.style.borderStyle='none'">
                                                                                        <span class="STYLE3"><asp:Label ID="Article_Type_ID" runat="server" Text='<%#Eval("Article_Type_ID")%>' Visible="False"></asp:Label><a href="Article_List.aspx?BigTypeId=<%#Eval("Article_Type_ID")%>" target="Content"><asp:Label ID="Article_Type_Name" runat="server" Text='<%#Eval("Article_Type_Name")%>'></asp:Label></a></span></td>
                                                                                </tr>
                                                                            </table>                                                                        </td>
                                                                    </tr>
                 <asp:Repeater ID="Re_Article_Type_List_S" runat="server">
                                       
                                            <ItemTemplate>
                 <tr>
                                                                        <td height="23">
                                                                            <div align="center">
                                                                                ├</div>                                                                        </td>
                                                                        <td height="23">
                                                                            <table width="95%" border="0" cellspacing="0" cellpadding="0">
                                                                                <tr>
                                                                                    <td height="20" style="cursor: hand" οnmοuseοver="this.style.borderStyle='solid';this.style.borderWidth='1';borderColor='#7bc4d3'; "
                                                                                        οnmοuseοut="this.style.borderStyle='none'">
                                                                                        <span class="STYLE3"><a href="Article_List.aspx?BigTypeId=<%# BID %>&SmallTypeId=<%#Eval("Article_Type_ID")%>" target="Content"><asp:Label ID="Article_Type_Name" runat="server" Text='<%#Eval("Article_Type_Name")%>'></asp:Label></a></span></td>
                                                                                </tr>
                                                                            </table>                                                                        </td>
                                                                    </tr>
                 </ItemTemplate>
                                        </asp:Repeater>
                                               
                                            </ItemTemplate>
                                        </asp:Repeater>

反面:

public string BID="";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Regular.islogin();
            getArticle_Type();
        }
    }
    protected void Re_Article_Type_List_B_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {

        //显示子类别
        Repeater EAT2 = (Repeater)e.Item.FindControl("Re_Article_Type_List_S");
        Label AID = (Label)e.Item.FindControl("Article_Type_ID");
        DataSet ds2 = SqlHelper.ExecuteDateSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, "select Article_Type_ID,Article_Type_Name from Article_Type where Article_Type_Father=" + AID.Text + " order by Article_Type_Id", null);
        EAT2.DataSource = ds2;
        //GetBigId.Text = AID.Text;
        //FindControl("Article_Type_ID").ToString()
        BID = AID.Text;
        EAT2.DataBind();
    }
    protected void getArticle_Type()//显示一级类别
    {
        DataSet ds = SqlHelper.ExecuteDateSet(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, "select Article_Type_ID,Article_Type_Name from Article_Type where Article_Type_Father=0 order by Article_Type_Id", null);
        Re_Article_Type_List_B.DataSource = ds;
        Re_Article_Type_List_B.DataBind();
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值