急!前台服务控件在后台无法找到!不是没有server哈,是有的 也没改过什么!一个拖的是服务控件text  一个拖的是html控件 然后加入了  runat="server"奇怪的是这两个控件都找不到!我前面有个服务控件lable也是找不到,但是我用这种方法把他找到了:
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
           lbl = (Label)(e.Item.FindControl("Label1"));
           
        }但是前面两个用这种方法就不行!!急需解决ok就给分,谢谢了!关键代码:
html<div id="hf+<%# Eval("lybh")%>" style="display:none; border:1px solid black; width:254px; text-align:center">
                                          
                                            <table>
                                                
                                                <tr>
                                                    <td align=right>昵称:</td>
                                                    <td>
                                                    
                                                        <asp:TextBox ID="TextBox1" runat="server"  Width="175px"></asp:TextBox></td>
                                                </tr>
                                                <tr>
                                                    <td  align=right>内容:</td>
                                                    <td>
                                                    <textarea id="TextArea1"  cols="20" rows="2" runat="server" style=" height:170" ></textarea></td>
                                                </tr>
                                                <tr>
                                                    <td colspan="2" align=center>
                                                        <asp:Button ID="Button1" runat="server" Text="确定" OnClick="Button1_Click" />
                                                    
                                                        <input  type="button" id="<%# Eval("lybh")%>" value="取消" onclick="qx(this)" /></td>
                                                </tr>
                                            </table>
                                            
                                        </div>
后台:protected void Button1_Click(object sender, EventArgs e)
    {
       
        TextBox nmd = (TextBox)(RepeaterPage.FindControl("TextBox1"));
      //  TextBox nm = (TextBox)( Repeater2.ItemTemplate.InstantiateIn("TextBox1"));
        TextBox nr = (TextBox)(Master.FindControl("TextArea1"));
      TextBox cc= (TextBox) this.Repeater2.FindControl("TextBox1");
        Response.Write("<script>alert('资料有误!');</script> "); 
    }写法都是不成功的!

解决方案 »

  1.   

    是在repeater控件中吗
    protected void Button1_Click(object sender, EventArgs e)
            {
                RepeaterItem item  =(RepeaterItem) ((Button)sender).Parent;
                Label l = (Label)item.FindControl("lbl");
                Response.Write(l.Text);
            }
      

  2.   

    如果是放在数据集控件中需要使用findcontrol方法来寻找!
      

  3.   

    我不是要中哦啊lable的值!那个值我已经取到了,是那个textb 和 textarea 这两个都找不到!!!!!
      

  4.   

    如梦老大已经说得很清楚了啊RepeaterItem item =(RepeaterItem) ((Button)sender).Parent;
    Label l = (Label)item.FindControl("lbl");蓝色是找到Repeater的行。
    红色是用这一行来找控件
    你要找TextBox 还是 TextArea1  自己换一下不就完了