У меня есть пара GridView, которые динамически создаются и помещаются в PlaceHolder.При наведении курсора мыши на кнопку Select
отображается __doPostBack('ctl00$bodyPlaceHolder$ctl0X','Select$Y')
, где X = то, что я считаю индексом GridView / Control для страницы, а Y = номер строки этого GridView.
Поскольку он динамически создает GridViews, имеет смысл называть их ctl0X
, но как использовать эту информацию на PostBack?
У меня даже не было бы этой проблемы, если бы работало добавление SelectedIndexChanged
EventHandler, но оно никогда не вызывалось.
Я нашел еще один вопрос, подобный этому, но ответ включал добавление GridView в мои GridViews, который также должен быть динамическим, что возвращает меня к исходной проблеме.
Редактировать
Хорошо, поэтому я установил gridViewDynamic.ID = "blahblah" + r.LastName
, таким образом давая каждому GridView уникальное имя, поэтому при наведении курсора на страницу я получаю __doPostBack('ctl00$bodyPlaceHolder$blahblahSmith',Select$Y
, я все еще не могу получить доступ к элементамна PostBack, потому что они больше не существуют .Итак, я добавил тот же код создания GridView в if(IsPostBack)
, который затем называется GridView gView = (GridView)this.Page.FindControl(blahblahSmith)
.Отлично, gView
не равно нулю.Но все данные в строках есть.Вызов gView.Rows[0]
возвращает ноль.