A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

有木有人明白双击在repeater控件外面的按钮,来获得repeater控件里面的控件值,如repeater控件里的textbox,button的值等?有木有人知道?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

3 个回复

倒序浏览
建立强类型数据集,
绑定对象数据源,
用表格的形式展示出数据
Repeater代码具体如下:

//Repeater代码
  <asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
    <HeaderTemplate><table border="1"><tr><td>姓名</td><td>性别</td></tr></HeaderTemplate>
    <ItemTemplate><tr><td>
        <asp:TextBox ID="txtname" runat="server" Text='<%#Eval("e_name") %>'></asp:TextBox></td><td>
            <asp:TextBox ID="txtsex" runat="server" Text='<%#Eval("e_sex") %>'></asp:TextBox></td></tr></ItemTemplate>
    <FooterTemplate></table></FooterTemplate>
    </asp:Repeater>
   //按钮1代码
    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
   //按钮1后台代码
        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox txt1 = (TextBox)Repeater1.Items[0].FindControl("txtname");
            if (txt1 != null)
            {
                Response.Write(txt1.Text);
            }
            else
            {
                Response.Write("空");
            }
        }
得出是Items[0]是张三,Items[1]是李四,Items[2]是王二...就这样得到的,主要是FindControl("controlId")这个方法。
page类中也有FindControl方法("controlId");
   

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
TextBox txt1 = (TextBox)Repeater1.Items[0].FindControl("txtname");为何不是TextBox txt1 = (TextBox)Repeater1.FindControl("txtname");

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
  
通过渲染的代码可以发现如下:
TextBox1渲染成了Repeater1_TextBox1_0......等,TextBox1隐藏了找不到啊
<table border="1"><tr><td>姓名</td><td>性别</td></tr><tr><td>

        <input name="Repeater1$ctl01$TextBox1" type="text" value="张三" id="Repeater1_TextBox1_0" /></td><td>

            <input name="Repeater1$ctl01$TextBox2" type="text" value="男" id="Repeater1_TextBox2_0" /></td></tr><tr><td>

        <input name="Repeater1$ctl02$TextBox1" type="text" value="李四" id="Repeater1_TextBox1_1" /></td><td>

            <input name="Repeater1$ctl02$TextBox2" type="text" value="男" id="Repeater1_TextBox2_1" /></td></tr><tr><td>

        <input name="Repeater1$ctl03$TextBox1" type="text" value="王二" id="Repeater1_TextBox1_2" /></td><td>

            <input name="Repeater1$ctl03$TextBox2" type="text" value="男" id="Repeater1_TextBox2_2" /></td></tr><tr><td>

        <input name="Repeater1$ctl04$TextBox1" type="text" value="张飞" id="Repeater1_TextBox1_3" /></td><td>

            <input name="Repeater1$ctl04$TextBox2" type="text" value="男" id="Repeater1_TextBox2_3" /></td></tr><tr><td>

        <input name="Repeater1$ctl05$TextBox1" type="text" value="貂蝉" id="Repeater1_TextBox1_4" /></td><td>

            <input name="Repeater1$ctl05$TextBox2" type="text" value="女" id="Repeater1_TextBox2_4" /></td></tr><tr><td>

        <input name="Repeater1$ctl06$TextBox1" type="text" value="大乔" id="Repeater1_TextBox1_5" /></td><td>

            <input name="Repeater1$ctl06$TextBox2" type="text" value="女" id="Repeater1_TextBox2_5" /></td></tr><tr><td>

        <input name="Repeater1$ctl07$TextBox1" type="text" value="小乔" id="Repeater1_TextBox1_6" /></td><td>

            <input name="Repeater1$ctl07$TextBox2" type="text" value="女" id="Repeater1_TextBox2_6" /></td></tr><tr><td>

        <input name="Repeater1$ctl08$TextBox1" type="text" value="莫洪刚" id="Repeater1_TextBox1_7" /></td><td>

            <input name="Repeater1$ctl08$TextBox2" type="text" value="男" id="Repeater1_TextBox2_7" /></td></tr>
</table>

   

评分

参与人数 1技术分 +2 收起 理由
郑文 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马