ASP.NET GridView TextBox问题

时间:2009-10-06 21:59:59

标签: asp.net gridview

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

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

我在命令按钮中编写了一些代码单击“事件”以读取此文本框的TextValue:

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++;
        }

但是txt.Text的值总是为零。 请问你能帮帮我吗? 感谢。

1 个答案:

答案 0 :(得分:1)

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

请务必检查Page.IsPostBack布尔值。

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