在没有Gridview事件的Gridview的itemTemplate中查找控件

时间:2014-05-30 15:27:15

标签: c# jquery asp.net gridview

我在Gridview的ItemTemplate中有一个Textbox ..我需要在不使用RowDatabound或任何其他Gridview事件的情况下找到该文本框

ASPX

<asp:GridView ID="gv_Others" runat="server" AutoGenerateColumns="false">
                    <Columns>
                    <asp:TemplateField >                        
                        <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                        <ItemTemplate >                     
                            <asp:TextBox ID="txtEmp" runat="server" Width=100% Height=22px CssClass="input"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    </Columns>
                </asp:GridView> 

aspx.cs

protected void Insert_OtherServices()
    {
        dsJobCardTableAdapters.Select_OtherServiceTableAdapter dsother = new dsJobCardTableAdapters.Select_OtherServiceTableAdapter();
        int count = 0;
        foreach (GridViewRow row in gv_Others.Rows)
        {
            //string b = (row.Cells[0].Controls[0] as DataBoundLiteralControl).Text;
            //TextBox a = gv_Others.Rows[count].Cells[0].FindControl("txtEmp") as TextBox;
           // string test = a.Text;
            //TextBox other = (TextBox)gv_Others.Rows[count].FindControl("txtEmp");
            TextBox other = (TextBox)gv_Others.TemplateControl.FindControl("txtEmp");
            dsother.Insert_OtherService(other.Text);
            count++;
        }
    } 

是否有任何替代方法可以从Gridview的项目模板中获取textbox的值

1 个答案:

答案 0 :(得分:1)

您是否想要在不通过GridView行循环的情况下查找文本框值?如果是这种情况,可以使用jQuery / javascript来实现这一点。

  1. 阅读客户端的所有文本框值。您可以找到有关如何执行此操作的更多信息here
  2. 使用隐藏字段将这些值与回发请求一起传递。阅读并使用方法中的隐藏字段值。