¿Cuál es la diferencia entre CodeFile = "file.ascx.cs" y CodeBehind = "file.ascx.cs" en la declaración de un control de usuario ASP.NET?
¿Es uno más nuevo o recomendado? ¿O tienen un uso específico?
CodeBehind : debe compilarse (modelo ASP.NET 1.1). El binario compilado se coloca en la carpeta bin del sitio web. Debe realizar una compilación en Visual Studio antes de implementar. Es un buen modelo cuando no desea que el código fuente sea visible como texto sin formato. Por ejemplo, al entregar a un cliente a quien no tiene la obligación de proporcionar el código.
CodeFile : proporciona el archivo fuente con la solución para la implementación. El tiempo de ejecución de ASP.NET 2.0 compila el código cuando es necesario. Los archivos compilados se encuentran en Microsoft.NET [versión .NET] \ Archivos temporales ASP.NET.
El archivo Codebehind necesita compilarse antes de ejecutarse, pero en src no necesitamos compilar y luego ejecutar ... simplemente guarde el archivo.
fuente
but in src
- quieres decirbut in the CodeFile
?Estoy trabajando con un proyecto de aplicación en Visual Studio Express 2012 para Web y usando .NET 4.0. En el código detrás de los archivos para mis páginas de inicio de sesión y cambio de contraseña, encontré una situación en la que necesitaba CodeBehind y CodeFile en la declaración.
Si no agrego una referencia de archivo de código como
La página web no se analiza y el navegador muestra un error de analizador. No importa si compilo el proyecto o no.
Si no agrego un código detrás de referencia como
Las referencias a clases de seguridad como MembershipUser fallan tanto en el momento de la compilación como al intentar usar intellisense con un error como "No se puede encontrar el tipo o el espacio de nombres MembershipUser". He agregado una referencia a System.Web.ApplicationServices como lo requiere el marco .Net 4.0.
Debo agregar que estos archivos problemáticos se están ejecutando en una aplicación dentro del sitio web creado con la herramienta de aplicación IIS. Cuando abro el sitio web desde Visual Studio no tengo dificultades con los errores del analizador o los errores de referencia. Esta confusión solo ocurre cuando abro la aplicación como un proyecto en Visual Studio.
fuente