ZR__MaNong
拥抱开源
采纳率50%
2015-01-12 15:07

获取table中的repeater内某个控件

5
已采纳

很长时间没做bs的项目了

有这么一个问题
在页面中有个table,table中的某一个tr的td内加了一个repeater控件

 如以下代码(部分)
 <asp:Repeater ID="Repeater1" runat="server">
 <ItemTemplate>
                        <tr>
                            <td bgcolor="#FFFFFF"  style="display:none;">
                                <%#Eval("ID")%>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <%#Eval("Tittle")%>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <%#Eval("Content")%>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <%#Eval("Creator")%>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <%#Eval("CreateDate")%>
                            </td>
                            <td bgcolor="#FFFFFF">
                                <asp:Literal ID="ltItem" runat="server"></asp:Literal>
                               <%-- <input id="show" type="button" value="查 看" onclick="ShowOnlineMessage(<%# Eval("ID") %>);" />&nbsp;
                                <input type="button" value="删 除" onclick="DeleteTzInfo(<%# Eval("ID") %>);" />--%>
                            </td>
                        </tr>
                    </ItemTemplate>

我现在想获得最后一列的这个Literal控件

在后台有下面的方法是获取不到的

  foreach (RepeaterItem item in Repeater1.Items)
                        {
                            Literal ltItem = item.FindControl("ltItem") as Literal;//获取普通项中的Literal                                                
                        }

请问有没有谁做过类似的东西 无论是用后台获得或者是前台获得后传到后台都可以
谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • showbo GoCityPass新加坡曼谷通票 6年前

    没问题啊。。你绑定数据了没有。

     <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("test");
            dt.Rows.Add("abc");
            dt.Rows.Add("abc");
            rp.DataSource = dt; rp.DataBind();
            int count = rp.Items.Count;
            if (count > 0)
            {
                for (int i = 0; i < count; i++)
                {
                    Literal lt = rp.Items[i].FindControl("ltItem") as Literal;
                    Response.Write(lt.ClientID+"<BR>");
                }
            }
        }
    </script>
    <table><tr><td><table>
    <asp:Repeater ID="rp" runat="server">
     <ItemTemplate>
                            <tr>
                                <td bgcolor="#FFFFFF">
                                    <asp:Literal ID="ltItem" runat="server">aa</asp:Literal>
                                </td>
                            </tr>
                        </ItemTemplate></asp:Repeater></table></td></tr></table>
    
    点赞 评论 复制链接分享
  • ZR__MaNong 拥抱开源 6年前

    额 多谢啊 我搞错了 把数据绑定放到最后了

    点赞 评论 复制链接分享
  • lowanty modii 6年前

    同楼上答案,应该是能获取到的。

    点赞 评论 复制链接分享

相关推荐