ASP GridView obter valores de linha no clique do botão

O que estou fazendo - redefinir a senha do usuário no imagebutton click.

Feito até agora - adicionado GridViewCommandEventHandler - está disparando corretamente. Usando o código deMSDN. Eu estou recebendo uma seqüência vazia ("") para o meu e.CommandArgument, e está jogando um erro ao executar (não é possível "" para int).

Eu posso ver no depurador há uma propriedade 'rowIndex' sendo armazenado (corretamente para meu clique) em outro lugar em e, eu posso acessar isso? Eu acho que o código do MSDN funcionaria - há algo mais que eu fiz para fazer esse erro ou outra maneira de corrigi-lo? Obrigado.

<code>void resetpassword(Object sender, GridViewCommandEventArgs e)
{
    // If multiple ButtonField columns are used, use the
    // CommandName property to determine which button was clicked.
    if (e.CommandName == "resetpass")
    {
        // Convert the row index stored in the CommandArgument
        // property to an Integer.
        int index = Convert.ToInt32(e.CommandArgument);

        // Retrieve the row that contains the button clicked
        // by the user from the Rows collection. Use the
        // CommandSource property to access the GridView control.
        GridView GridView1 = (GridView)e.CommandSource;
        GridViewRow row = GridView1.Rows[index];

        String usrname = row.FindControl("username").ToString();
</code>

código da página aspx:

<code><asp:TemplateField HeaderText="Reset Password">
                <ItemTemplate>
                    <asp:ImageButton ID="ibtnReset" runat="server" CausesValidation="false" 
                        CommandName="resetpass" ImageUrl="~/Images/glyphicons_044_keys.png" Text="Button" />
                </ItemTemplate>
                <HeaderStyle Width="70px" />
                <ItemStyle HorizontalAlign="Center" />
            </asp:TemplateField>
</code>

Código de adição de evento:

<code> protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        GridView1.RowCommand += new GridViewCommandEventHandler(this.resetpassword);
    }
</code>

questionAnswers(2)

yourAnswerToTheQuestion