TextBox 不在 GridView 中发布值

TextBox not posting values in GridView

我不知道为什么 TextBox 在此 GridView 中显示为空:

<asp:GridView ID="ContatosGrid" runat="server" AutoGenerateColumns="False">
        <Columns>
            <asp:BoundField DataField="NomeContatoOriginal" HeaderText="Contato Original" readonly="true" />
            <asp:TemplateField HeaderText="Contato Novo">
                    <ItemTemplate>
                        <asp:TextBox ID="txtNomeContatoNovo" runat="server" Text='<%# Bind("NomeContatoNovo") %>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
        </Columns>
    </asp:GridView>

在 TextBox 中用一些值填充第一行并点击保存按钮后:

protected void salvar_Click(object sender, EventArgs e)
    {
        var nomeContatoOriginal = ContatosGrid.Rows[0].Cells[0].Text; // ok, original value
        var nomeContatoNovo = ContatosGrid.Rows[0].Cells[1].Text; // always empty
    }

网格的DataBing仅在!PostBack时调用。

可能会尝试

TextBox txtSNo = (TextBox)ContatosGrid.Rows[0].FindControl("txtNomeContatoNovo");

string nomeContatoNovo = txtSNo.Text;