То, что вы хотите, и то, что делает ваш код, - это две разные вещи.
Я думаю, что вы ищете это:
String ContactID = e.Row.Cells(0).Text;
Однако я предлагаю другой способ:
Вы можете использовать CommandArgument на своей кнопке. Это означает, что вы передаете аргумент через саму кнопку. Вам не нужно будет получать аргумент от любого другого элемента управления. Для этого вам нужно сделать следующее:
<asp:ButtonField ButtonType=Button CommandName="Remove" Text="Remove" CommandArgument='<%# Eval("ContactID") %>' />
И тогда ваш код выглядит так:
if (e.CommandName.Equals("Remove"))
{
int ContactID = Convert.ToInt32(e.CommandArgument);
}
Вот хороший пример GridView с CommandArguments .