Sé que esta es una pregunta antigua, pero tenía un problema similar y quería publicar mi solución en caso de que pudiera beneficiar a otra persona. Encontré el problema mientras aprendía a usar:
Estaba intentando crear una página habilitada para AJAX (consulte un tutorial sobre el uso del objeto ScriptManager si no está familiarizado con esto). Intenté acceder a los elementos HTML en la página a través del código C # y recibí un error que indicaba que el identificador del valor de ID HTML "no existe en el contexto actual".
Para solucionarlo, tuve que hacer lo siguiente:
1. Ejecutar en el servidor
Para acceder al elemento HTML como una variable en el código C #, se debe colocar el siguiente valor en la etiqueta del elemento HTML en el archivo aspx:
runat="server"
Algunos objetos en el Cuadro de herramientas en el IDE de Visual Studio no incluyen automáticamente este valor cuando se agregan a la página.
2. Regenere el archivo C # generado automáticamente:
- En el Explorador de soluciones, debajo del archivo aspx debe haber dos archivos: * .aspx.cs y * .aspx.designer.cs. El archivo del diseñador se genera automáticamente.
- Elimine el archivo * .aspx.designer.cs existente. Asegúrese de eliminar solo el archivo del diseñador . No elimine el otro, porque contiene su código C # para la página.
- Haga clic derecho en el archivo aspx principal. En el menú emergente, seleccione Convertir a aplicación web .
Ahora el elemento debería estar accesible en el archivo de código C #.