Obter o valor de um BoundField de um DetailsView

Eu pareço sempre ter problemas com isso. Eu tenho um botão fora do modo de exibição que chama uma função que precisa de umOrderNumber. Eu continuo recebendo um erro

ArgumentOutOfRangeException was unhandled by user code

no modo de depuração, ou este no navegador,

Specified argument was out of the range of valid values.

É assim que estou acessando:

string sOrderNumber = (Order_DetailsView.Rows[0].Cells[0].Controls[0] as TextBox).Text;
int orderNumber = Int32.Parse(sOrderNumber);

Eu também tentei((TextBox)Order_DetailsView.Rows[0].Cells[0].Controls[0]).Text e todas as combinações de índices emRows[i].Cells[i].Controls[i] que eu poderia entender.

Aqui está o DetailsView:

<asp:DetailsView ID="Order_DetailsView" runat="server" AutoGenerateRows="False">
    <Fields>
        <asp:BoundField DataField="OrderNumber" HeaderText="Order #" />
        <asp:BoundField DataField="GST" HeaderText="GST" DataFormatString="{0:c}" />
        <asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:c}" />
    </Fields>
</asp:DetailsView>

Estou apenas fazendo tudo errado? Examinei todos os exemplos que encontrei e meu código parece legítimo pelo que posso dizer. Eu sinto que deve haver alguma coisa simples que eu estou negligenciando.

questionAnswers(4)

yourAnswerToTheQuestion