Obtendo valor de uma célula de um gridview no evento RowDataBound

string percentage = e.Row.Cells[7].Text;

Eu estou tentando fazer algumas coisas dinâmicas com o meu GridView, então eu tenho alguns códigos para o evento RowDataBound. Eu estou tentando obter o valor de uma célula específica, que é um TemplateField. Mas o código acima sempre parece estar retornando uma string vazia.

Alguma ideia?

Para esclarecer, aqui está um pouco a célula ofensiva:

<asp:TemplateField HeaderText="# Percentage click throughs">
<ItemTemplate>
    <%# AddPercentClickThroughs((int)Eval("EmailSummary.pLinksClicked"), (int)Eval("NumberOfSends")) %>
</ItemTemplate>
</asp:TemplateField>

Em uma nota relacionada, alguém sabe se existe uma maneira melhor de selecionar a célula na linha. É uma porcaria colocar emcell[1]. Eu não poderia fazercell["mycellname"], então se eu decidir mudar a ordem das minhas células, os bugs não aparecerão?

questionAnswers(4)

yourAnswerToTheQuestion