ASP.NET GridView文本框问题

ASP.NET GridView文本框问题,asp.net,gridview,Asp.net,Gridview,我在页面中有一个gridview,它有一个模板字段: <asp:TemplateField> <ItemTemplate> <asp:TextBox ID="txtReturn" runat="server" Text="0"></asp:TextBox> </ItemTemplate> </asp:TemplateFi

我在页面中有一个gridview,它有一个模板字段:

        <asp:TemplateField>
            <ItemTemplate>
                <asp:TextBox ID="txtReturn" runat="server" Text="0"></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>

我在一个命令按钮点击事件中编写了一些代码来读取这个文本框的文本值:

int i = 0;
        foreach (GridViewRow row in grdFactor.Rows)
        {
            TextBox txt = (TextBox)(row.FindControl("txtReturn"));
            int ret = 0;
            try
            {
                ret = Int32.Parse(txt.Text);
                if (ret > 0 && ret < factor.Orders[i].Entity)
                {
                    factor.Orders[i].updateReturn(ret);
                }
            }
            catch (Exception ex) { }

            i++;
        }
inti=0;
foreach(grdFactor.Rows中的GridViewRow行)
{
TextBox txt=(TextBox)(row.FindControl(“txtreurn”);
int-ret=0;
尝试
{
ret=Int32.Parse(txt.Text);
if(ret>0&&ret
但是txt.Text的值始终为零。 你能帮我吗?
谢谢。

您什么时候在网格或页面上调用DataBind()?开发人员通常会绑定数据两次,并覆盖从Request.Form接收的数据

确保检查Page.IsPostBack布尔值

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        this.myGrid.DataSource = list;
        this.myGrid.DataBind();
    }
}