拥抱开源 2015-01-12 15:07 采纳率: 50%
浏览 1824
已采纳

获取table中的repeater内某个控件

很长时间没做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                                                
                        }

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

  • 写回答

2条回答 默认 最新

  • Go 旅城通票 2015-01-13 03:31
    关注

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

     <%@ 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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站