Проблема:
Ваша проблема возникает из-за того, что когда вы скрываете столбец привязанного к данным GridView, его ограниченное значение больше не доступно, и если вы попытаетесь получить к нему доступ, вы получите пустую строку.
Решение:
Включить 2 события в вашем сетке:
RowDataBound: в этом случае вы можете получить доступ к скрытому значению ячейки (пока не скрыли его)
protected void MyGridView_RowDataBound(Object sender, GridViewRowEventArgs)
{
// Here you store the value
this.sID = e.Row.Cells[1].Text;
}
RowCreated: в этом случае вы скрываете ячейку, запишите это в обработчик события:
protected void MyGridView_RowCreated(Object sender, GridViewRowEventArgs)
{
// then you hide the cell (Only the cell not the column)
e.Row.Cells[1].Visible = false;
}
В этих кодах после того, как мы сохраним нужное нам значение в другой переменной / массиве, мы можем легко скрыть ячейку. Вы можете поместить это значение в скрытый вход, чтобы разрешить доступ к значению из JavaScript.