В каких случаях мне следует использовать свойство GridView DataKeyNames?
DataKeyNames
Почему здесь допускается несколько столбцов / полей?
Получает или задает массив, содержащий имена полей первичного ключа для элементов, отображаемых в элементе управления GridView.
Свойство GridView.DataKeyNames
Свойство GridView.DataKeys
Содержит поля primary key или id таблицы данных, которые показывает сетка Согласно MSDN
primary key
id
Получает или задает массив, содержащий имена полей первичного ключа для элементов, отображаемых в GridView управление.