Como se señaló p.campbell de salida, el archivo .designer.cs vincula el archivo .aspx a su archivo .aspx.cs CodeBehind. Sin el archivo .designer.cs, cada control de página .aspx en el archivo .Back.Exp.cspx.cs devolverá el error, "no existe en el contexto actual". La vinculación en .designer.cs se realiza en función de la propiedad "Inherits" de la directiva @ Page en el archivo aspx junto con el espacio de nombres y la clase del archivo .Baspx.cs CodeBehind. El segmento final de la propiedad "Inherits" debe coincidir con la clase definida tanto en el archivo CodeBehind como en el archivo .designer.cs, y los segmentos anteriores deben coincidir con el espacio de nombres de los archivos .designer.cs y CodeBehind.
Ejemplo: myfile.aspx
<%@ Page Language="C#"
AutoEventWireup="true"
CodeBehind="myfile.aspx.cs"
Inherits="my.namespace.dot.classname" %>
myfile.aspx.cs
namespace my.namespace.dot {
public partial class classname : Page { ... }
}
Nota: la clase de archivos CodeBehind debe heredar de la clase Page, o algún derivado del mismo.
myfile.designer.aspx.cs
namespace my.namespace.dot {
public partial class classname { ... }
}
Nota: la clase .designer.cs no se preocupa por la herencia, al igual que el nombre de la clase coincide con el CodeBehind y archivos .aspx.
Puede regenerar un archivo perdido .designer como esto (w3cgeek.com "Regenerate designer.cs '):
- Crear un nuevo archivo en blanco en la misma dir como sus .aspx y .aspx.cs archivos denominados' myfile.aspx.designer.cs "donde" myfile "es el nombre de los archivos .aspx y .aspx.cs que desea vincular.
- Agregue un espacio de nombres con una clase vacía al nuevo archivo y asegúrese de que sus nombres coincidan con el espacio de nombres y la clase especificados en los archivos .aspx y .aspx.cs que está vinculando.
- Guarde el archivo .designer.cs, realice cualquier cambio en el archivo .aspx (por ejemplo, agregue un espacio) y guarde el archivo .aspx.
Visual Studio debe rellenar automáticamente el archivo .designer.cs con todo el código necesario para vincular sus archivos .aspx y CodeBehind. El error "no existe en el contexto actual" debería desaparecer.
EDIT: Agregué las instrucciones .designer.cs porque el enlace está muerto y fue publicado originalmente por p.campbell.
Gracias por responder, pero ¿Es posible solicitar manualmente la reconstrucción del archivo de diseñador para una página? – bAN
@ban: apueste, aquí está cómo regenerar su archivo de diseñador: http://www.undermyhat.org/blog/2009/07/tip-regenerate-aspx-designer-cs-files-when-corrupted/ –