我在repeater ItemTemplate里面都有个textarea和一个按钮...我想按每个子项里面按钮把对应的textarea里面的值取出来...大家有什么好的建议吗??在线等....

解决方案 »

  1.   

    通过e找到Index,再找到对应Item的textarea
      

  2.   

    textarea不是服务器控件这样不是取不到的吗
      

  3.   

    <asp:LinkButton ID="lbt" runat="server" 
     CommandArgument="<%#Container.ItemIndex%>"   OnCommand="lbt_Command">按钮 </asp:LinkButton>
    后台
      protected void lbt_Command(object sender, CommandEventArgs e)
        {
            int irow = int.Parse(e.CommandArgument.ToString());//获得对应的行
           HtmlTextArea txtarea = (HtmlTextArea)this.rep1.Items[irow].FindControl   ("textarea1");
            string txt = txtarea.Value;
            Response.Write(txt);//就是 文本值
        }
      

  4.   

    (repeater1.Items[e.rowindex].FindControl ("textarea1") as textarea).Text;取控件值
      

  5.   

            <asp:Repeater ID="Repeater4" runat="server">
            <HeaderTemplate><table></HeaderTemplate><ItemTemplate>
                <tr>
                    <td>
                        <textarea id="TextArea1" cols="20" rows="2" runat="server"><%#Eval("ID") %></textarea>
                    </td>
                    <td>
                    <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate></table></FooterTemplate>
        protected void Button1_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            int index = (btn.Parent as RepeaterItem).ItemIndex;
            HtmlTextArea text = Repeater4.Items[index].FindControl("TextArea1") as HtmlTextArea;
            Response.Write(text.Value);
        }
      

  6.   


            <asp:Repeater ID="Repeater4" runat="server" 
                onitemcommand="Repeater4_ItemCommand">
            <HeaderTemplate><table></HeaderTemplate><ItemTemplate>
                <tr>
                    <td>
                        <textarea id="TextArea1" cols="20" rows="2"  runat="server"><%#Eval("ID") %></textarea>
                    </td>
                    <td>
                    <asp:Button ID="Button1" runat="server" Text="Button" CommandName="get" />
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate></table></FooterTemplate>
            </asp:Repeater>
        protected void Repeater4_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            if (e.CommandName == "get")
            {
                HtmlTextArea text = e.Item.FindControl("TextArea1") as HtmlTextArea;
                Response.Write(text.Value);
            }
        }
      

  7.   

    (repeater1.Items[e.rowindex].FindControl ("textarea1") as textarea).Text;
      

  8.   

    如果TextArea属性里面不加runat=“sever”怎么取...
      

  9.   

    在TextArea 加Js 事件,传this.id  然后 document.getElementById(this.id).value; 楼主试试。
      

  10.   

    我是想把这个里面的值传给数据库..但是textarea在repeater里并且不用runat=“sever”,如果不在repeater里的话我还可以用request.form[“他的name”]去找..但是现在我发现不知道怎么找了...如果用你说的js怎么传到数据库啊...js传我还不会呢..我是菜鸟呢