Один из способов получить доступ к значениям строк в сетке - это использовать коллекцию Cells вместе с текущим индексом сетки (доступ к которому можно получить с помощью событий), как показано ниже.
void YOUR_GRID_EVENT(Object sender, GridViewDeleteEventArgs e)
{
Grid.Rows[e.RowIndex].Cells[0];
}
, вы также можете использоватьиз findcontrol, как показано ниже:
var txtName = e.Row.FindControl("txtName") as TextBox;
Надеюсь, это поможет ...
Обновление
Также проверьте свой код, чтобы убедиться, что вывызывающий метод DataBind () GridView надлежащим образом ... потому что каждый раз, когда вы вызываете GridView.DataBind () ... вызывается событие rowcommand представления сетки ... Я думаю (догадываясь), что у вас в настоящее время есть gridView.DataBind ()в вашей загрузке, а также в событии нажатия кнопки .. так что это может привести к тому, что событие rowcommand будет вызвано дважды ... если это не так, то опубликуйте некоторый код, чтобы мы могли изучить больше ...