En ASP.NET (C #), ¿por qué no puedo acceder a los controles HTML y a GridView.PageIndex durante SelectCountMethod en ObjectDataSource?

Si bien no puedo decirte cómo hacerlo de la parte superior de mi cabeza, puedo asegurarte que hay muy pocos, si es que hay alguno, aspectos de un control HTML a los que no puedas acceder desde el código.

Algunos de los errores que comete un codificador (incluido yo mismo) es no identificar adecuadamente el control al que está tratando de llegar. En este caso, puede ver el nombre del control tal como lo escribió en el código y, cuando se ve la página, ver el código fuente de la página y encontrar el control. Luego mire la identificación del control. Probablemente encontrará que el ID ha cambiado de lo que lo hizo al agregarle el nombre de control principal. Lo que eso significa es que su código no puede encontrar el control en absoluto.

Si bien ese error es el más común, también es bastante fácil de solucionar. Sin embargo, hay otros problemas que pueden surgir que se relacionan con el control de valores específicos. A menudo, el control que desea usar ni siquiera tiene ese valor, incluso cuando está seguro de que debería hacerlo. Probablemente lo más común es buscar “Cuenta” cuando debería buscar “Longitud” o buscar cualquiera y descubrir que no existe ninguno. Hice eso donde busqué el número de / Count / Longitud de valores que se mantienen en un contenedor / ListBox / grid / lo que sea, y resultó que lo que estaba usando para guardar mis registros no tenía un contador. Por lo general, tendría que agregar un contador. Que dolor.

De todos modos, como dije, no puedo darle una solución de código fuera de mi cabeza para el problema específico que mencionó, pero primero miraría el problema de confusión de ID. Si ese es el problema, considere usar “ClientID” como la posible solución.