拥抱开源 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条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘