Tengo una aplicación web en la que estoy trabajando (ASP.NET2.0 con C #, usando VS2005). Todo funcionaba bien y, de repente, aparece el error:
Error 1 The name 'Label1' does not exist in the current context
y otros 43 del tipo por cada vez que usé un control en mi código subyacente de la página.
Esto solo ocurre en 1 página. Y es como si el código subyacente no reconociera los controles. Otra cosa interesante es que el intellisense tampoco está recogiendo ninguno de los controles.
Intenté limpiar el archivo de la solución, eliminar el archivo obj, excluir los archivos del proyecto y luego volver a agregarlos, cerrar VS y reiniciarlo, e incluso reiniciar mi computadora, pero ninguno de estos ha funcionado.
c#
asp.net
visual-studio-2005
code-behind
zohair
fuente
fuente
Respuestas:
Verifique su código detrás del nombre de archivo y la propiedad Inherits en la directiva @Page, asegúrese de que ambos coincidan.
fuente
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:
Ahora el elemento debería estar accesible en el archivo de código C #.
fuente
excluya cualquier otra página que haga referencia al mismo archivo de código subyacente, por ejemplo, una página anterior que copió y pegó.
fuente
Yo tuve el mismo problema. Resulta que tenía "MyPage.aspx" y "Copia de MyPage.aspx" en mi proyecto.
fuente
Además, asegúrese de no tener archivos que accidentalmente intenten heredar o definir la misma clase (parcial) que otros archivos. Tenga en cuenta que estos archivos pueden parecer no estar relacionados con los archivos donde realmente apareció el error.
fuente
Me encontré con este mismo error, excepto que fue un error de WPF. Estaba reorganizando proyectos y tenía un control definido de esta manera:
<local:CustomControl Name="Custom" />
En mi código detrás intenté usar Custom.Blah, pero recibí el error:
The name 'Custom' does not exist in the current context
¿Cuál fue el truco para mí fue cambiar mi control en Xaml a esto:
<local:CustomControl x:Name="Custom" />
¡Espero que esto ayude a alguien!
fuente
Recibo el mismo error después de realizar cambios con mi contexto de datos. Pero encuentro algo con lo que no estoy familiarizado. Me acostumbro a publicar mis archivos manualmente. Normalmente, cuando hago eso, no aparece ninguna carpeta App_Code en la carpeta de publicación. Empecé a utilizar la publicación VS 12, que publica directamente con su ayuda en el servidor web. Y luego aparece el error de ser una aplicación precompilada. Luego elimino la carpeta app_code que funcionó. Pero luego me dio el error de contexto de datos que está recibiendo. Así que simplemente eliminé todos los archivos y ejecuté la publicación nuevamente sin restricciones de archivo (se publicarán todas las carpetas y archivos) y funcionó como un encanto.
fuente
Tuve el mismo problema, mi problema fue no tener espacio entre dos atributos "
AutoGenerateColumns="False"DataKeyNames="ProductID"
en vez de
AutoGenerateColumns="False" DataKeyNames="ProductID"
fuente
Arreglé esto en mi proyecto haciendo una copia de seguridad de los archivos actuales (por lo que todavía tenía mi código), eliminando el aspx actual (y las páginas secundarias), creando uno nuevo y copiando el contenido de los archivos de copia de seguridad en los nuevos archivos.
fuente
este error suele ocurrir cuando falla
runat="server"
.fuente
La opción de solución n. ° 2 ofrecida anteriormente funciona para aplicaciones de formularios de Windows y no para aplicaciones web aspx. Obtuve un error similar en la aplicación web, lo resolví eliminando un archivo donde tenía un control de usuario con el mismo nombre, este archivo aspx era en realidad un archivo de respaldo y no se hacía referencia en ninguna parte del proceso, pero aún así causó el error porque el nombre del control de usuario registrado en el archivo de respaldo se nombró exactamente igual en el archivo aspx al que se hizo referencia en el flujo del proceso. Así que eliminé el archivo de respaldo y construí la solución, la construcción tuvo éxito.
Espero que esto ayude a alguien en un escenario similar.
Vijaya Laxmi.
fuente
Tuve el mismo problema ya que estaba tratando de reproducir el archivo aspx de un proyecto de Visual Studio 2010, por lo que los controles tenían la propiedad clientidmode = "Static". Cuando esto se eliminó, se resolvió.
fuente
Tuve un problema similar al ajustar con un repetidor después de convertirlo de un DataList.
El problema fue que uní accidentalmente 2 atributos al eliminar uno innecesario.
<asp:Repeater runat="server" ID="ClientsRP"DataSourceID="ClientsDS"> . . . </asp:Repeater>
Y esto impidió la generación del repetidor en el archivo de diseño.
fuente
Tuve el mismo mensaje de error. Mi código estaba libre de errores y funcionaba a la perfección, luego decidí volver atrás y cambiar el nombre de uno de mis botones y de repente me está dando un error de compilación acompañado de ese subrayado ondulado azul que dice que el control no existe en el contexto actual ...
Resulta que Visual Studio estaba siendo tonto, ya que el problema estaba relacionado con los archivos de respaldo que había hecho de mi clase aspx.cs. Los borré y los errores desaparecieron.
fuente
Me encontré con este mismo problema. Aparentemente, no debería llamar a una clase en el BLL con el mismo nombre que uno de los archivos .aspx / .aspx.cs. Pensé que no estarían en el mismo ámbito, etc. pero se metió demasiado con el funcionamiento interno de Visual Studio. Estoy un poco sorprendido de que no haya algo que le impida hacer esto si va a producir ese tipo de error. De todos modos, simplemente elimine los archivos .aspx / .aspx.cs y reconstruya su proyecto. Luego tráelos de vuelta con otro nombre. Puede copiar / pegar su código en otro editor si no desea volver a escribirlo todo.
fuente
En mi caso, cuando creé el formulario web, se lo nombró WebForm1.aspx y sus respectivos nombres (WebForm1). Carta, le cambié el nombre a otra cosa. Cambié el nombre manualmente en casi todos los lugares, pero un lugar en el archivo del diseñador todavía lo mostraba como 'WebForm1'.
También cambié eso y me deshice de este error.
fuente
1) Verifique la propiedad CodeFile en <% @ Page CodeFile = "filename.aspx.cs"%> en la página "filename.aspx", su código detrás del nombre del archivo y este nombre de propiedad debe ser el mismo.
2) puede perder runat = "server" en el código
fuente
En mi caso, tuve que buscar entre los errores 417 "controlname not found" para encontrar un error real: había reemplazado una DLL pero no había actualizado el número de versión en web.config. Se arregló y construyó con éxito, 3 minutos después de que todos los demás errores se resolvieron por sí mismos.
fuente